說,在我的網絡服務器有一個文件夾調用upload_files 然後我的一個PHP頁面應該抓住該文件夾中的所有文件名 我已經搜索了但到目前爲止返回的文件名僅僅是用戶瀏覽的頁面 謝謝如何使用PHP來檢索特定文件夾中的所有文件名
回答
有檢索文件夾內容,如glob
,scandir
,DirectoryIterator
和RecursiveDirectoryIterator
的方法很多,本人來說,我會建議你檢查DirectoryIterator,因爲它有很大的潛力。
實施例使用scandir
方法
$dirname = getcwd();
$dir = scandir($dirname);
foreach($dir as $i => $filename)
{
if($filename == '.' || $filename == '..')
continue;
var_dump($filename);
}
實施例使用DirectoryIterator
類
$dirname = getcwd();
$dir = new DirectoryIterator($dirname);
foreach ($dir as $path => $splFileInfo)
{
if ($splFileInfo->isDir())
continue;
// do what you have to do with your files
//example: get filename
var_dump($splFileInfo->getFilename());
}
這裏使用RecursiveDirectoryIterator
類較不常見的例子:
//use current working directory, can be changed to directory of your choice
$dirname = getcwd();
$splDirectoryIterator = new RecursiveDirectoryIterator($dirname);
$splIterator = new RecursiveIteratorIterator(
$splDirectoryIterator, RecursiveIteratorIterator::SELF_FIRST
);
foreach ($splIterator as $path => $splFileInfo)
{
if ($splFileInfo->isDir())
continue;
// do what you have to do with your files
//example: get filename
var_dump($splFileInfo->getFilename());
}
對於scandir +1,導致其他人提出glob爲一些離奇的原因 – Cyclone 2012-01-11 03:29:48
我猜他們有很強的Linux背景 – Nazariy 2012-01-11 03:38:53
$ dir = scandir($ dir);會導致undefine變量 – user782104 2012-01-11 04:52:13
以下將打印文件夾upload_files
中的所有文件。
$files = glob("upload_files/*");
foreach ($files as $file)
print $file;
我同意與Jon:
glob("upload_files/*")
返回的文件名的陣列。
但請注意!當你讓人們上傳 的東西到你的網絡服務器時,可能會發生壞事。建立保存上傳腳本 是相當困難的。
只是一個例子:你必須確保沒有人可以上傳 一個php文件到你的上傳文件夾。如果可以的話,他們可以通過在他們的瀏覽器中輸入適當的URL來運行 。
請在嘗試完成之前瞭解有關php &的安全性!
- 1. 使用C檢索文件夾中的所有文件名#
- 2. 如何使用php刪除特定文件夾中的所有文件
- 3. 如何使用PHP來檢測文件夾中的新文件?
- 4. 如何檢索給定文件夾中的文件名
- 5. 使用PHP重命名文件夾中的所有文件
- 6. 如何刪除文件夾中具有特定擴展名的所有文件?
- 7. 我如何遞歸地使用PHP在文件夾中包含具有特定名稱的所有文件?
- 8. PHP - 所有文件和文件夾指定的文件夾
- 9. 如何創建批文件來搜索文件夾中具有特定擴展名的文件?
- 10. 查找具有特定名稱的所有子文件夾,使得超級文件夾具有特定模式
- 11. 如何使用Asp.net替換文件名(特定的特定文件夾)?
- 12. AWS s3下載特定文件夾內的所有文件 - 使用PHP SDK
- 13. 檢索目錄中的所有文件夾並更改其中的所有文件夾名稱
- 14. 刪除除特定文件夾以外的所有文件夾
- 15. 如何檢索特定文件夾中的圖像?
- 16. 讀取matlab中特定文件夾中的所有文件?
- 17. 如何搜索特定文件名的所有提交?
- 18. 如何重命名文件夾中的特定文件?
- 19. 正則表達式的文件夾名稱來搜索具有特定文件擴展名的文件
- 20. 如何根據文件名和/或擴展名檢索文件夾的所有文件大小?
- 21. 在文件夾/目錄(PHP)中搜索特定的文件擴展名
- 22. 如何搜索特定文本文件的子文件夾
- 23. 使用Actionscript獲取文件夾中的所有文件名
- 24. 使用bash重命名文件夾中的所有文件
- 25. 使用C#獲取文件夾中的所有文件名
- 26. 如何檢索特定文件擴展名的文件的文件路徑?
- 27. 如何遞歸檢索文件夾中的文件,返回文件名和文件夾名
- 28. 如何使用python查找文件夾中的特定文件
- 29. Java - 如何獲取文件夾中的所有文件名
- 30. 如何在PHP中提取特定文件夾的名稱?
使用'水珠( 「upload_files/*」 )'。它返回一個包含所有文件的數組(包括文件夾)。答案太短而未選中。 – Jon 2012-01-11 03:02:31
請更準確地解釋你正在嘗試做什麼,以及你所獲得的。一些代碼會很好。 – Corubba 2012-01-11 03:03:25