|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-04-28 13:23 UTC] offset at galvanet dot com
Description:
------------
is_file and filesize not working on a NFS mount.
These files are readable and writable for user (Using PHP CLI).
is_file and filesize working for local files. Not for NFS mounts.
By the way, file_exist is working.
The code is working under PHP 5.2.3 (cli). And not under PHP 5.2.9 (cli)
Reproduce code:
---------------
echo "Full path : $SourceFile\n";
if (!chmod($SourceFile, 0777)) {
echo "Unable to Chmod file\n";
}
clearstatcache();
if (!file_exists($SourceFile)) {
echo "Source file not found\n";
}
$FileSize = filesize($SourceFile);
if (!$FileSize) {
echo "Source file empty !\n";
}
Expected result:
----------------
Full path : /home/files/3/4/0/340db92364af5c0616187f6e1db86ed7
.. and continue the script
Actual result:
--------------
Full path : /home/files/3/4/0/340db92364af5c0616187f6e1db86ed7
Source file empty !
# ls -lah /home/files/3/4/0/340db92364af5c0616187f6e1db86ed7
-rwxrwxrwx 1 nobody nobody 9.5M Apr 26 12:00 /home/files/3/4/0/340db92364af5c0616187f6e1db86ed7
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Dec 02 05:00:02 2025 UTC |
Strace on php execution return that : stat64("/home/files/3/4/0/340db92364af5c0616187f6e1db86ed7", {st_mode=S_IFREG|0444, st_size=9888768, ...}) = 0 write(2, "PHP Warning: filesize(): stat f"..., 139PHP Warning: filesize(): stat failed for /home/files/3/4/0/340db92364af5c0616187f6e1db86ed7 in /root/test.php on line 3It's working with LFS support. Stat is exactly the same : stat64("/home/files/3/4/0/340db92364af5c0616187f6e1db86ed7", {st_mode=S_IFREG|0444, st_size=9888768, ...}) = 0 But after the size is writen correctly : write(1, "9888768", 79888768) = 7 (Working on a 32bit system) Thanks