[英]php using scandir to get folder contents
我當前正在使用scandir獲取上載文件夾的內容。 這是我指定目錄的代碼:
$dir = /var/www/vhosts/mywebsite.com/httpdocs/admin/newsletters/1234-16-10-2013/
$files = scandir($dir);
然后,我遍歷如下結果:
foreach($files as $file) {
echo '<option value="'.$file.'">'.$file.'</option>';
}
上面的工作正常,並正確填充我的選擇菜單。 但是由於某些原因,選擇菜單中的選項如下所示:
<option value=".">.</option>
<option value="..">..</option>
<option selected="selected" value="header.jpg">header.jpg</option>
<option value="sale.jpg">sale.jpg</option>
<option value="show-now.jpg">show-now.jpg</option>
前兩個選項包含句號。 第一個具有1,第二個具有2。
有人知道為什么是這樣嗎? 是因為目錄的深度嗎?
任何幫助將不勝感激!
那是因為系統條目.
和..
指向“當前目錄”和“父目錄”的指針。 如果您不想在輸出中看到它們,則需要對其進行過濾。
您可能需要使用is_file() -then過濾條目.
和..
將被跳過,因為它們實際上是目錄(指向它們的指針)
Scandir相對較慢。
foreach (new DirectoryIterator($path) as $file)
{
if($file->isDot()) continue;
if($file->isDir()))
{
print $file->getFilename() . '<br />';
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.