Edit report at https://bugs.php.net/bug.php?id=60017&edit=1
ID: 60017
Comment by: gmblar+php at gmail dot com
Reported by: ykessler at gmail dot com
Summary: __FILE__ case inconsistency on Mac / MAMP
Status: Open
Type: Bug
Package: Filesystem function related
Operating System: Mac OSX
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
This happens because the default filesystem (hfs+) is case insensitive.
a.php
<?php
include strtolower(realpath('b.php'));
include strtoupper(realpath('b.php'));
b.php
<?php
var_dump(__FILE__);
Output:
string(23) "/users/blar/sites/b.php"
string(23) "/USERS/BLAR/SITES/B.PHP"
Previous Comments:
------------------------------------------------------------------------
[2011-11-05 01:10:44] pjb109 at hotmail dot com
Trying to write to a php file but not possible on MAMP.
Instead tried to echo the line '<?php $var = "abc"; ?>' and this is also not
possible?? Any ideas.
------------------------------------------------------------------------
[2011-10-16 13:30:43] ykessler at gmail dot com
Here is another test run outside the Users directory, in the standard MAMP
install under Applications/MAMP/htdocs:
a.php:
<?php
echo "<br/>__FILE__ = ".__FILE__;
echo "<br/>__DIR__ = ".__DIR__;
include("a_inc.php");
?>
a_inc.php:
<?php
echo "<br/>__FILE__ = ".__FILE__;
echo "<br/>__DIR__ = ".__DIR__;
?>
http://localhost/tests/a.php =
__FILE__ = /applications/mamp/htdocs/tests/a.php
__DIR__ = /applications/mamp/htdocs/tests
__FILE__ = /Applications/MAMP/htdocs/tests/a_inc.php
__DIR__ = /Applications/MAMP/htdocs/tests
Zend Engine v2.3.0
OSX 10.6.8
Apache/2.0.63 (Unix) PHP/5.3.2 DAV/2
------------------------------------------------------------------------
[2011-10-08 23:39:39] karcieri at gmail dot com
Environment:
---------------
Zend Server version: 5.1.0
Test script:
---------------
Same as bug report
Actual result:
--------------
__FILE__ = /usr/local/zend/apache2/htdocs/Test
__DIR__ = /usr/local/zend/apache2/htdocs/Test
__FILE__ = /usr/local/zend/apache2/htdocs/Test
__DIR__ = /usr/local/zend/apache2/htdocs/Test
Is it possible that this bug is only related to the Users directory?
------------------------------------------------------------------------
[2011-10-08 21:51:37] ykessler at gmail dot com
Description:
------------
---
>From manual page: http://www.php.net/language.constants.predefined
---
__FILE__ and __DIR__, return lower case paths when in the calling file, and
mixed
case paths in an included file, when run on MAMP.
Test script:
---------------
//The following will show all lower case paths when in the calling file,
//and mixed case paths in an included file, when run on MAMP.
echo "<br/>__FILE__ = ".__FILE__;
echo "<br/>__DIR__ = ".__DIR__;
// include another file with the same code ...
Actual result:
--------------
__FILE__ = /users/me/stuff/mamp_server/my_site/myfile.php
__DIR__ = /users/me/stuff/mamp_server/my_site
__FILE__ = /Users/me/Stuff/mamp_server/my_site/myfile.php
__DIR__ = /Users/me/Stuff/mamp_server/my_site
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=60017&edit=1