ID:               26073
 Comment by:       Leblanc at phpzipscript dot org
 Reported By:      php at trancer dot nl
 Status:           Open
 Bug Type:         Documentation problem
 Operating System: Debian Linux
 PHP Version:      4.3.3
 New Comment:

here is a workaround I use to avoid such problems (I also use it with
CLI scripts to avoid path troubles when launching a script from a
different directory).

At the beginning of the script add :

<?php
define("SCRIPTPATH", str_replace("\\", "/",
realpath(dirname(__FILE__))));
?>


in your ob() callback you now need to do :

<?php 
    // Ob callback 
    function ob($buffer) 
    { 
        return file_get_contents(SCRIPTPATH.'/open.txt'); 
    } 
    ob_start('ob'); 
?>

/Leblanc


Previous Comments:
------------------------------------------------------------------------

[2003-11-03 19:32:02] [EMAIL PROTECTED]

It's not PHP that changes the cwd but Apache.


------------------------------------------------------------------------

[2003-11-01 21:29:13] php at trancer dot nl

Description:
------------
A script that does file_get_contents or file in the callback function
of ob_start wont work. The file_get_contents function cant open the
file. 

<?php 
    // Ob callback 
    function ob($buffer) 
    { 
        return file_get_contents('open.txt'); 
    } 
    ob_start('ob'); 
?>

The behaviour is so because the callback sets its cwd to the root of
the disk instead of the folder the script was called from. 

If I copy the file I want to open to my root it can open, otherwise it
will throw me this error.

Warning: file_get_contents(open.txt): failed to open stream: No such
file
or directory in /var/www/test.php on line 6 

Specifying the full path works. Could be a possible bug in the
callback, otherwise a documentation problem because I was unable to
find it anywhere in the docs.


Reproduce code:
---------------
<?php 
    // Ob callback 
    function ob($buffer) 
    { 
        return file_get_contents('open.txt'); 
    } 
    ob_start('ob'); 
?>

Expected result:
----------------
The content of open.txt

Actual result:
--------------
Warning: file_get_contents(open.txt): failed to open stream: No such
file
or directory in /var/www/test.php on line 6 


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26073&edit=1

Reply via email to