我想使用opendir()僅列出特定文件夾(即/ www/site /)中的文件夾。我想排除列表中的文件以及'。'和出現在Linux文件夾列表中的'..'文件夾。我會如何去做這件事?PHP opendir()僅列出文件夾
14
A
回答
18
查看PHP docs for readdir()。它包括一個正是這個例子。
出於完整性:
<?php
if ($handle = opendir('.')) {
$blacklist = array('.', '..', 'somedir', 'somefile.php');
while (false !== ($file = readdir($handle))) {
if (!in_array($file, $blacklist)) {
echo "$file\n";
}
}
closedir($handle);
}
?>
簡單地改變opendir('.')
到您的目錄,即opendir('/www/sites/')
,並更新$blacklist
包括你不希望輸出文件或目錄的名稱。
8
function scandir_nofolders($d) {
return array_filter(scandir($d), function ($f) use($d) {
return ! is_dir($d . DIRECTORY_SEPARATOR . $f);
});
}
這個函數返回一個數組,你可以遍歷或存放的地方,什麼都程序員的99.37%,使用opendir
想這是。
15
foreach(glob('directory/*', GLOB_ONLYDIR) as $dir) {
$dir = str_replace('directory/', '', $dir);
echo $dir;
}
您可以使用簡單地GLOB_ONLYDIR glob的,然後篩選結果目錄
+0
適合我。僅列出目錄。謝謝 – Imtiaz
5
只列出文件夾(目錄):
<?php
$Mydir = ''; ### OR MAKE IT 'yourdirectory/';
foreach(glob($Mydir.'*', GLOB_ONLYDIR) as $dir) {
$dir = str_replace($Mydir, '', $dir);
echo $dir;
}
?>
+1
你也可以使用echo basename($ dir);而不是str_replace。 –
1
與glob('*')
功能試試這個
<?php
$dirs = array_filter(glob('*'), 'is_dir');
$i = 1;
foreach ($dirs as $value) {
echo $i . '. <a href = "http://localhost/' . $value . '" target = "_blank">' . $value . '</a><br>';
$i++;
}
?>
以上代碼爲我工作列出了當前目錄中的文件夾,並且我進一步開發了代碼以在同一瀏覽器中的新選項卡中打開每個文件夾。這僅顯示目錄。
1
也可以用於創建文件夾名稱的下拉列表(這裏是圖像文件夾)。確保用戶上傳圖像將其推送到正確的文件夾:-)
<select name="imgfolder">
<option value="genimage">General Image</option>
<?php
$Mydir = '../images/'; // use 'anydirectory_of_your_choice/';
foreach(glob($Mydir.'*', GLOB_ONLYDIR) as $dir) {
$dirname = basename($dir) ;
echo '<option value="' . $dirname . '">' . $dirname . '</option>' ;
}
?>
</select>
相關問題
- 1. php opendir文件按編號列出
- 2. 僅列出目錄中的文件夾
- 3. 僅觀看列出的文件夾PM2
- 4. 僅在C#中列出子文件夾?
- 5. 僅列出目錄中的文件夾
- 6. CodeIgniter - 使用opendir的文件和文件夾列表
- 7. 列出文件夾
- 8. FileSystemRights:僅列表文件夾
- 9. php opendir(不同的域名文件夾) - 這可能實現嗎?
- 10. opendir不起作用的文件或文件夾名稱間隔
- 11. PHP列出圖像在文件夾
- 12. aws sdk php列出s3文件夾
- 13. PHP排序opendir文件包括
- 14. 列出文件夾中的子文件夾 - Matlab(僅子文件夾,而不是文件)
- 15. git:僅列出新文件
- 16. PHP opendir問題
- 17. 列出公共文件夾
- 18. 如何讓pdf文件按文件夾列出文件夾?
- 19. 列出文件夾中的文件
- 20. WPF列出文件夾中的文件
- 21. Opendir獲取子文件夾中的文件前的文件數組
- 22. 曲目文件夾/文件更改僅
- 23. PHP的OpenDir vs array_rand
- 24. 如何使用find -ls命令僅列出文件而不是文件夾?
- 25. 使用php列出目錄中的所有文件夾子文件夾和文件請使用php
- 26. 列出文件夾內容時出錯
- 27. 列出文件夾不起作用
- 28. C++文件夾僅搜索
- 29. QFileDialog查看文件夾和文件,但僅選擇文件夾?
- 30. 從php文件夾讀取文件,並列出從json文件中的條目
這隻會過濾'.'和'..',而不是其他目錄。 – phihag
@愛好,好點。查看更新。 –
謝謝你這個工作......我正在看opendir的男子,我沒有看到readdir的頁面。 –