php glob函数什么都不返回

时间:2015-07-29 12:21:38

标签: php

您好Stackoverflow主人, 我对glob函数php有问题。

$gallery_full = glob("/var/www/home.com/uplo_1/*.*",GLOB_NOSORT);
print_r($gallery_full);

这行不会给我任何回报。所有目录都有chmod 777.在uplo_1中有jpg和png文件。 任何人都知道如何运行它?

2 个答案:

答案 0 :(得分:3)

编辑:使用我自己的系统路径测试发布的代码后,没有任何问题。

  • 检查以确保您的系统路径正确。

  • 在文件中使用phpinfo();,查看环境,然后 DOCUMENT_ROOT

    • 如果您没有使用phpinfo()的访问/权限,请登录管理面板,和/或联系您的托管服务提供商以获取系统路径,如果是这种情况。
  • 使用错误报告http://php.net/manual/en/function.error-reporting.php

  

“所有目录都有chmod 777”

  • 这不是最安全的设置。文件夹使用755,文件使用644。

编辑前的原始答案:

这是我使用的,如果您的文件夹恰好包含图像以外的文件,那就更好了。

  • 旁注:文件夹最好有一个索引文件,否则有人可能会找到该文件夹​​并查看其中的内容,如果你没有另外处理,那就是这样。

确保路径正确。

$imagesDir = '/path/to/files';
$images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE | GLOB_NOSORT);

error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:只应在暂存时进行显示错误,而不是生产。

参考:

答案 1 :(得分:0)

当我使用glob时,我首先添加DOCUMENT_ROOT,如下所示:

$fileCount = $_SERVER['DOCUMENT_ROOT'] . '/path/to/file.ext';
echo $fileCount;  

这应该有用。