2013-01-22 36 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); 
相关问题