ID:               13936
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Verified
+Status:           Closed
 Bug Type:         Scripting Engine problem
 Operating System: Solaris
 PHP Version:      4.3.0-dev
 New Comment:

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.




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

[2002-05-12 14:19:16] [EMAIL PROTECTED]

this bug is also happening with OS: Open BSD 3.0, PHP 4.2.0

the following was generated on maintenenance-priority.php 
(the other __FILE__ prints were generated from the included 
files):

__FILE__: 
/home2/kumar/www/chicagomodular.com/phpAdsNew/
admin/maintenance-priority.php

__FILE__: /config.php

__FILE__: /lib-maintenance.inc.php 

for the phpAdsNew application this is a serious bug since 
__FILE__ is used to define an include-path constant

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

[2002-02-27 13:42:37] [EMAIL PROTECTED]

Re-opening since this bug appear to be still going on. I didn't really
test the fixes on 4.1.1 since I'm using a similar routine to report
errors, but it would be nice to catch some attention.

--Joao

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

[2002-02-27 12:40:44] [EMAIL PROTECTED]

I was having problems with this same thing on Solaris under PHP 4.1.1,
so I tried the 4.2 version, and it seems to me that the problem is
still there.

I create a file called "test.php" containing:
<?php
echo "file " . __FILE__;
?>

When I:
php test.php

I get:
file test.php

I expect to get:
file /cs/home/jas/test.php

Shouldn't __FILE__ always return a full path to a file?

Jason.

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

[2001-11-05 17:24:49] [EMAIL PROTECTED]

Yeah, ok, but that was far from apparent in your original report. So
you mean that the bug is that not the full path is given?

I agree, that's a bug. __FILE__ should give the full path of the script
in which the __FILE__ is.

I reproduce it with 4.0.6, but it apparently is fixed in 4.2.0, since
with the exact same env and script etc I get the correct result now.

So closing.

--Jeroen

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

[2001-11-05 17:05:30] [EMAIL PROTECTED]

Another good argument in favor of __FILE__ returning the full path is
the actual purpose of this variable. People usually use __FILE__ and
__LINE__ to develop routines to report problems or even events on their
applications.

As the manual says, one could write something like this:

<?php
function report_error($file, $line, $message)
{
    echo "An error occured in $file on line $line: $message.";
}

report_error(__FILE__, __LINE__, "Something went wrong!");
?>

To get a report of eventual errors on some library file. Can you tell
me how would I know _which_ library file or script the error occurred
without __FILE__ returning me the full path of the offending script ?

We could have several 'index.php' files running this 'report_error'
function, and if __FILE__ returns only 'index.php', then we wouldn't
know exactly which file it is.

Anyway, I think it is pretty clear __FILE__ should return the full
path.

--Joao

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

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/13936

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

Reply via email to