SCER
2014-08-22 00:58
$handle = opendir($path);
$file = readdir($handle);(忽略目录的话)这里返回一个文件,为什么不能直接通过filesize($file)返回该文件的大小?
嗯 那就可以直接用filesize返回大小,如果是目录就不行了,需要将目录中的文件大小求和计算^_^...
另外 readdir返回的是一个字符串类型; string readdir ([ resource $dir_handle ] )
必须指定路径,$file本来就是个字符串类型,你不指名全路径,你怎么能认为它就是一个文件呢? 难道“a.php” 你就说他是个文件吗?它只是一个字符串而已! 如果PHP中有文件类型 你可以把文件类型的值当做是文件,这样就不用指定全路径!
<?php function readDirectory($path) { $files = opendir ( $path ); while ( ($file = readdir ( $files )) !== false ) { if ($file != "." && $file != "..") { echo $file . ": "; if (is_file ( $path."/".$file )) { //if(is_file($file)){ echo 'It\'s file '."\n"; } else if (is_dir ( $path."/".$file )) { echo 'It\'s dir '."\n"; } else { echo 'unknown'."\n"; } } } closedir ( $files ); } readDirectory ( 'files' );
is_file ( $path."/".$file )可以正确判断$file是否为文件,为啥is_file($file)不能?如果$file本身就是一个文件的话,is_file应该能够判断它才对吧?我用上面代码测试的时候,用is_file($file)判断是错误的.....
WEB在线文件管理器
36230 学习 · 332 问题
相似问题