Bug->Doc #78634 [Nab->Ver]: realpath function caches results
| From: | requinix@php.net | Date: | Fri, 04 Oct 2019 14:55:06 +0000 |
| Subject: | Bug->Doc #78634 [Nab->Ver]: realpath function caches results | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-16983@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78634&edit=1
ID: 78634
Updated by: requinix@php.net
Reported by: flandrestudio dot cn at gmail dot com
-Summary: realpath function does not return false
+Summary: realpath function caches results
-Status: Not a bug
+Status: Verified
-Type: Bug
+Type: Documentation Problem
Package: *Directory/Filesystem functions
Operating System: Windows 10.0.18362
PHP Version: 7.3.10
Block user comment: N
Private report: N
New Comment:
æ¤å½æ°çç»æä¼è¢«ç¼åãåè§ clearstatcache()
以è·å¾æ´å¤ç»èã
The realpath() docs don't mention that the results are cached, unlike stat() and others. Or
that there is a separate realpath cache from the regular file stat cache.
Previous Comments:
------------------------------------------------------------------------
[2019-10-04 14:52:55] peehaa@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
https://www.php.net/manual/en/function.clearstatcache.php
------------------------------------------------------------------------
[2019-10-04 14:45:43] flandrestudio dot cn at gmail dot com
Description:
------------
In the case of deleting the directory without using the php function rmdir (such as using the
command line to delete), using realpath again will not return false. The problem was not generated
in php7.3.9.
å¨ä¸ä½¿ç¨php彿°rmdirå é¤ç®å½çæ
åµä¸(å¦ä½¿ç¨å½ä»¤è¡å é¤)
忬¡ä½¿ç¨realpathå°ä¸ä¼è¿åfalseãå¨php7.3.9æªäº§ç该é®é¢ã
Test script:
---------------
<?php
var_dump(phpversion());
$a = 'eee';
$path = dirname(__FILE__) . DIRECTORY_SEPARATOR . $a;
// ------------------
var_dump($path);
// ------------------
mkdir($path);
var_dump(realpath($path));
// ------------------
passthru('rd "' . $path . '"');
var_dump(realpath($path));
Expected result:
----------------
string(5) "7.3.9"
string(24) "E:\phpProject\xlbook\eee"
string(24) "E:\phpProject\xlbook\eee"
bool(false)
Actual result:
--------------
string(6) "7.3.10"
string(24) "E:\phpProject\xlbook\eee"
string(24) "E:\phpProject\xlbook\eee"
string(24) "E:\phpProject\xlbook\eee"
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78634&edit=1