2013-01-22 54 views
0

我有像某些URL文本文件:在文本文件中的每一行代碼運行

http://1.com
http://2.com
http://3.com
http://n.com

我需要打開該文件並運行代碼爲此文件中的每一行,換句話說,運行列出的每個URL的代碼。現在的代碼工作完美,當我在一個陣列中的單個URL ..但如果我能做到這一點使用這個文件完整的URL在一起的,這將是如此之快

我嘗試類似:

$file1 = "/file.txt"; 
    $lines = file($file1); 
    foreach($lines as $line_num => $v) 
    { 
    // my code 
} 

並使用$ v數組運行代碼..但這不起作用,因爲所有的行都在$ v數組中。所以,我怎樣才能運行我的代碼爲每個URL在文件中?

+2

' file()'返回文件中每行的數組。聽起來你的文件只有一行。 – nickb

+2

所以你有一些不可靠的行結束字符在那裏(例如'\ n',而php期待'\ r \ n',所以從來沒有檢測到一個「新」行)... –

+0

你怎麼知道該文件全部在'$ v'裏面?請添加'var_dump($ v)'並將結果添加到您的問題中。 – Sven

回答

0

它看起來像你的行結束不被讀取到PHP,你可以創建自己的分裂功能就像this answer

foreach(preg_split("/((\r?\n)|(\r\n?))/", $lines) as $line_num => $v){ 

} 

你也可以做這樣的事情:

$fd = fopen ($file1, "r"); 
while (!feof ($fd)) { 
    $line = fgets($fd, 4096); 
    //Do something with $line 
} 
fclose ($fd); 
相關問題