我想知道为什么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);}