我想知道为什么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找不到指定的文件。虽然第二个回声打印路径就好了。
完全混淆了为什么这样做。任何见解将不胜感激。
感谢。
答案 0 :(得分:1)
首先var_dump($list_of_files)
看看你有什么,我怀疑只有文件名列表,即不是绝对路径。因此,除非从同一个文件夹运行,否则php无法找到这些文件。
无论如何,你可能最好使用glob来直接从php中返回一个文件名数组
的示例答案 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);}