PHP readfile()或file_get_contents()给出错误

时间:2014-05-13 18:13:26

标签: php linux

我想知道为什么file_get_contents()没有接受我的变量(包含一个linux路径)。这就是我正在做的事情:

    find $PWD -name "*.png" > myList

然后我使用我的PHP脚本:

    $list_of_files = file('myList');

到目前为止一切顺利。但是当我做的时候

    echo file_get_contents($list_of_files[2]);
    echo $list_of_files[2];

我收到警告,file_get_contents找不到指定的文件。虽然第二个回声打印路径就好了。

完全混淆了为什么这样做。任何见解将不胜感激。

感谢。

4 个答案:

答案 0 :(得分:1)

首先var_dump($list_of_files)看看你有什么,我怀疑只有文件名列表,即不是绝对路径。因此,除非从同一个文件夹运行,否则php无法找到这些文件。

无论如何,你可能最好使用glob来直接从php中返回一个文件名数组

以下是使用glob递归PHP get file listing including sub directories

的示例

答案 1 :(得分:0)

您有路径,但无法获取文件的内容。这可能是因为您没有权限这样做或文件不存在。

答案 2 :(得分:0)

确保哪些路径相对于您要读取文件内容的文件夹:

在使用file_get_contents之前添加:

 echo getcwd();

现在检查该文件夹中是否存在文件(带路径)

答案 3 :(得分:0)

这对我来说很愚蠢,但我发现我没有修改新线:(

所以基本上是

    foreach($list_of_files as $i){ $j = trim($i); echo file_get_contents($j);}