|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2020-06-26 07:46 UTC] lingtalfi at gmail dot com
Description: ------------ I create two files in my webroot directory www (served by apache 2.4.37): - a.php - b.php In both I add this script: ```php var_dump(__DIR__); exit; ``` The output from **a.php** is different than the one from **b.php** !!! The output from a is this: ```html string(88) "/Users/xxxxxxxxxxxxx/Documents/it/web/Komin>/service création/projets/jin_site_demo/www" ``` While the output from b is this: ```html string(89) "/Users/pierrelafitte/Documents/it/web/Komin>/service création/projets/jin_site_demo/www" ``` I'm not sure where the problem comes from (php?, apache?, my mac?), but there is obviously a problem as they should output the exact same string. The problem comes from the accent (é) which is not encoded in the same manner, I tried using the php binary (php -f a.php), and both scripts output identical output, which means that the problem only occur when using php with apache. I'm just a php user (not php developer) so I don't have any patch, but hopefully, if it's a php problem, this post helps to fix it. Test script: --------------- var_dump(__DIR__); exit; PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Nov 21 15:00:01 2025 UTC |
What about creating an include file in the same directory as your app. <?php return __DIR__; ?> Use it like so: $trueDIR = include('get_true_dir.php'); From what you posted above, this should work. Yes, it's a bit of a hacky workaround, but it is a workaround, and should work even on systems not suffering from this issue. (https://www.aetna-medicare.org/)github.com