|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-06-14 12:44 UTC] fulcrum at mbnet dot fi
Description: ------------ If one of the parent directories of the current working directory doesn't have the readable flag +r (while +x is still specified) getcwd() return false, even though the current directory has full (or at least readable & executale) access (the restrictive permissions apply ONLY to the parent directory). The possible return value of false isn't either mentioned in the documenation. Reproduce code: --------------- mkdir one ; mkdir one/two ; mkdir one/two/three echo "<?php echo gettype(getcwd()).'; '; echo getcwd() ? 'true' : 'false'; ?>" > one/sample.php echo "<?php echo gettype(getcwd()).'; '; echo getcwd() ? 'true' : 'false'; ?>" > one/two/sample.php echo "<?php echo gettype(getcwd()).'; '; echo getcwd() ? 'true' : 'false'; ?>" > one/two/three/sample.php chmod 111 one ; chmod 755 one/two ; chmod 755 one/two/three chmod 644 one/sample.php ; chmod 644 one/two/sample.php ; chmod 644 one/two/three/sample.php Expected result: ---------------- one/sample.php: string; true one/two/sample.php: string; true one/two/three/sample.php: string; true Actual result: -------------- one/sample.php: string; true one/two/sample.php: boolean; false one/two/three/sample.php: boolean; false PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Nov 20 00:00:02 2025 UTC |
This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. This is the case on some unices, and is actually in the POSIX 1 standard: In section 5.2.2.4: For each of the following conditions, if the condition is detected, the getcwd() function shall return a value of NULL and set errno to the corresponding value: [EACCESS] Read or search permission was denied for a component of the pathname. So I've documented this and the fact that the return value can be false.