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

$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
提交
取消
WEB在线文件管理器
  • 参与学习       36223    人
  • 解答问题       332    个

通过本课程文件目录函数库的学习,让你掌握文件、目录函数库的应用

进入课程
意见反馈 帮助中心 APP下载
官方微信