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


PHP readfile() or file_get_contents() gives error

我想知道为什么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不能找到指定的文件。而第二个echo打印的路径很好。

完全不明白它为什么这么做。如有任何见地,不胜感激。

谢谢。

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

在任何情况下,最好使用glob它会直接从php

返回文件名数组下面是一个使用glob递归PHP获取文件列表的例子,包括子目录

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

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

在使用file_get_contents之前添加:

 echo getcwd();

,现在检查文件(与路径)是否存在于该文件夹

这是我的愚蠢,但我发现我没有修剪换行符:(

也就是a

    foreach($list_of_files as $i){ $j = trim($i); echo file_get_contents($j);}
相关文章: