为了账号安全,请及时绑定邮箱和手机立即绑定

$handle = opendir($path);

$file = readdir($handle);(忽略目录的话)这里返回一个文件,为什么不能直接通过filesize($file)返回该文件的大小?

正在回答

4 回答

嗯 那就可以直接用filesize返回大小,如果是目录就不行了,需要将目录中的文件大小求和计算^_^...

0 回复 有任何疑惑可以回复我~
另外 readdir返回的是一个字符串类型;
string  readdir     ([  resource $dir_handle   ] )


0 回复 有任何疑惑可以回复我~
必须指定路径,$file本来就是个字符串类型,你不指名全路径,你怎么能认为它就是一个文件呢?
难道“a.php” 你就说他是个文件吗?它只是一个字符串而已!
如果PHP中有文件类型  你可以把文件类型的值当做是文件,这样就不用指定全路径!


0 回复 有任何疑惑可以回复我~
<?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)判断是错误的.....

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号