簡體   English   中英

php scandir不引發任何錯誤,但未列出dir內容

[英]php scandir not throwing any errors but is not listing dir contents

我正在嘗試遵循此處http://php.net/manual/en/function.scandir.php列出的php文檔上的代碼

但是,當我運行代碼時,不會顯示任何內容。 有人可以告訴我我在哪里犯錯嗎?

我的密碼

<?php
$directory = "/xyz/images/";
$images = glob($directory . "*.jpg");
foreach($images as $image)
{
  echo $image;
}
error_reporting(E_ALL);
?>

什么都沒有顯示。 我在Windows上使用xampp。 我還引用了這些問題,使用PHP列出了目錄中的所有圖像

獲取目錄中圖像的文件名

我也嘗試將“ c:/ xampp / htdocs / xyz / images /”,“ / xyz / images /”,“ xyz / images /”,“ / images /”作為我的目錄。

<?php
error_reporting(E_ALL);
$directory = scandir("linewalk');
$images = glob($directory . "*.jpg");
foreach($images as $image)
{
  echo $image;
}

?>

現在拋出錯誤分析錯誤:語法錯誤,意外的“。”


<?php
error_reporting(E_ALL);
foreach (scandir(".") as $file)
echo $file . "\n";
?>

******感謝您的所有幫助和建議*********可以正常工作並列出當前目錄的內容我目前在root / xyz / test中,因此應該掃描/ xyz / images
(scandir(“ qa / linewalk”)警告:scandir(qa / linewalk,qa / linewalk):系統找不到指定的路徑-這是我嘗試時得到的

$directory = "/xyz/images/";

表示您從服務器(計算機)根目錄的xyz文件夾中獲取文件。 我想沒有這樣的文件夾,並且您沒有訪問該文件夾的權限。

因此,您應該更仔細地設置路徑,例如:

// path comes from yor server docroot
$directory = $SERVER['DOCUMENT_ROOT'] . "/xyz/images/";

// path comes from current folder in which your script is run
$directory = "./xyz/images/";

您應該將目錄轉換為文件系統路徑:

$directory = dirname(__FILE__) . "/xyz/images/";

另外,您可以使用RecursiveDirectoryIterator

$dirIterator = new RecursiveDirectoryIterator($directory);
$iterator = new RecursiveIteratorIterator($dirIterator, RecursiveIteratorIterator::SELF_FIRST);

foreach ($iterator as $file) {
    print_r($file);
}

該路徑相對於php文件的位置。

因此,如果php文件和xyz目錄位於同一父目錄中,則只需使用

$directory=scandir(xyz/images/);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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