PHP:从文件中读取文件名时无法打开流错误

时间:2015-10-20 11:08:26

标签: php

我有一个文件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_1file_2file_3file_4位于/home/user/ 我不确定我做错了什么。

1 个答案:

答案 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;
 }
}