逐列获取列数据到文本文件中?

时间:2012-08-23 05:03:10

标签: php

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)。我不想输出它。我应该怎么做。 谢谢。

2 个答案:

答案 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);
}