我正在尝试按照此处列出的php文档中的代码进行操作 http://php.net/manual/en/function.scandir.php
但是,当我运行代码时,不会显示任何内容。有人可以告诉我我在哪里犯错误吗?
我的代码
<?php
$directory = "/xyz/images/";
$images = glob($directory . "*.jpg");
foreach($images as $image)
{
echo $image;
}
error_reporting(E_ALL);
?>
没有显示任何内容。我在Windows上使用xampp。 我也引用了这些问题 Listing all images in a directory using PHP
Get filenames of images in a directory
我也尝试过“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):系统无法找到指定的路径 - 这是我在尝试时得到的
答案 0 :(得分:1)
行
$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/";
答案 1 :(得分:1)
您应该将目录转换为文件系统路径:
$directory = dirname(__FILE__) . "/xyz/images/";
此外,您可以使用RecursiveDirectoryIterator
$dirIterator = new RecursiveDirectoryIterator($directory);
$iterator = new RecursiveIteratorIterator($dirIterator, RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $file) {
print_r($file);
}
答案 2 :(得分:0)
路径相对于php文件的位置。
因此,如果php文件和xyz
目录位于同一个父目录中,那么只需使用
$directory=scandir(xyz/images/);