csv数据如下:
(first line) price url
(second line) $10 src="http://www.test.com/1455/"||src="http://www.test.com/image/1456/"||
(third line) $20 src="http://www.test.com/2260/"||src="http://www.test.com/2261/"||
.... ........
现在我想将url列中的所有数据放入文本文件中。并逐个显示数据。即:
http://www.test.com/1455/
http://www.test.com/image/1456/
http://www.test.com/2260/
http://www.test.com/2261/
....
现在,我被困了。
a,我不知道如何防止输出第一行。 b,我不知道如何获取网址,并将它们逐个放入文本文件中。
首先我使用以下代码将数据输出到屏幕。
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
$row++;
echo $data[1] . "<br />\n";
}
fclose($handle);
}
上面的代码也输出第一行(url)。我不想输出它。我应该怎么做。 谢谢。
答案 0 :(得分:0)
你非常接近!我已稍微修改了您的代码,以执行您要执行的操作。基本上,您需要输出的第二个文件处理程序。您可以将其打开为附加模式,以便写入附加到文件的末尾。至于不回显标题,您只需确保该行大于第一行。希望它有所帮助!
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE && ($handle2 = fopen("output.txt", 'a')) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($row > 1) {
fwrite($handle2, "{$data[1]}\n");
}
$row++;
}
fclose($handle);
fclose($handle2);
}
答案 1 :(得分:0)
//跳过CSV的第一行 - 输出第二个&#34;列&#34;数据。
$row = 0;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
if ($row > 0 ) {
echo $data[1] . "<br />\n";
}
$row++;
}
fclose($handle);
}