簡體   English   中英

php使用scandir獲取文件夾內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM