2015-10-20 66 views
1

我有一個文件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

回答

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