課程
/后端開發
/PHP
/WEB在線文件管理器
$handle = opendir($path);
$file = readdir($handle);(忽略目錄的話)這里返回一個文件,為什么不能直接通過filesize($file)返回該文件的大?。?/p>
2014-08-22
源自:WEB在線文件管理器 1-3
正在回答
嗯 那就可以直接用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)判斷是錯誤的.....
舉報
通過本課程文件目錄函數庫的學習,讓你掌握文件、目錄函數庫的應用
4 回答課程很吸引人,但是新手無法下手啊。。。。。。。
2 回答PHP ci框架封裝的復制目錄函數,報內存溢出
2 回答重命名成功,但是重命名文件夾耗時過長,cpu占用過大占用了40%左右的內存(點擊重命名按鈕時,360加速球從45%增加到80%以上)
1 回答老師 你好厲害
2 回答JS的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2014-08-22
嗯 那就可以直接用filesize返回大小,如果是目錄就不行了,需要將目錄中的文件大小求和計算^_^...
2014-09-04
2014-09-04
2014-08-22
is_file ( $path."/".$file )可以正確判斷$file是否為文件,為啥is_file($file)不能?如果$file本身就是一個文件的話,is_file應該能夠判斷它才對吧?我用上面代碼測試的時候,用is_file($file)判斷是錯誤的.....