PHP:从文件读取文件名时未能打开流错误

问题描述:

我有一个文件input.txt,其中包含需要打开和读取数据的文件名。我写了下面的php代码,当它试图用变量$files打开时,即第二个fopen失败时,我得到failed to open stream: No such file or directoryPHP:从文件读取文件名时未能打开流错误

$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/ 我不知道我做错了。

+0

检查许可....如果PHP用户能够进入目录并读取文件 – donald123

我的猜测是,该文件包含行空格(如\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; 
} 
}