我有一个文件input.txt,其中包含我需要打开和读取数据的文件名。我编写了以下php代码,当它尝试使用变量failed to open stream: No such file or directory
打开时,我得到$files
,即第二个fopen失败。
$handle = fopen("/home/user/input.txt", "r");
if($handle) {
while(($files = fgets($handle)) !== false) {
print $files;
$filename = fopen($files,"r");
print $filename;
}
}
input.txt内容:
/home/user/file_1
/home/user/file_2
/home/user/file_3
/home/user/file_4
file_1
,file_2
,file_3
和file_4
位于/home/user/
我不确定我做错了什么。
答案 0 :(得分:2)
我的猜测是文件行包含空格(例如\r
),要删除它们我们将使用trim()
function open_files_from_file_list()
{
$handle = fopen("/home/user/input.txt", "r");
if(!$handle)
return;
while(($line = fgets($handle)) !== false)
{
$line=trim($line);
print $line;
if (!file_exists($line))
{
print ' does not exists';
continue;
}
$filename = fopen($line,"r");
print $filename;
}
}