使用php访问文本文件?

时间:2010-11-04 12:19:07

标签: php html text file-io

我想知道如何使用php访问文本文件并使用php数组显示信息,这可能看起来像一个新手问题,但我还没有使用外部文件。

所以这里。

了home.txt:

ha15rs,250,home2.gif,2
ha36gs,150,home3.gif,1
ha27se,300,home4.gif,4
ha4678,200,home5.gif,5

我想要做的是在html表中对此信息进行排序,每行代表一行,4行代表数据!谢谢欢呼:))

4 个答案:

答案 0 :(得分:8)

看起来像逗号分隔的值。请参阅http://ee.php.net/manual/en/function.fgetcsv.php

上的示例

答案 1 :(得分:3)

你可以这样做:

<?php
$file = file_get_content('file.txt');

$array = explode("\n", $file);

请注意,它取决于您的newline type

典型地:

  • Gnu / Linux / Unix / MacOS,因为X使用"\n"
  • Windows使用"\r\n"
  • X之前使用MacOS "\r"

答案 2 :(得分:1)

您也应该查看file()函数,它会逐行将文件读入数组 之后,您可以使用explode()分隔值。

<?php
  $foo = file('example.txt');
  // will echo the 2nd line of the example.txt-file
  echo $foo[1];
  // echos all items seperated by a comma
  foreach($foo as $line=>$values){
    $value_arr = explode(',',$values);
    echo 'line #'.$line.': ';
    foreach($value_arr as $id=>$item){
      echo $id.': '.$item.'; ';
    }
    echo "\n";
  }
?>

答案 3 :(得分:0)

开始处理此问题:

  # echo before table headline
    ...........
    $handle = @fopen("myfile.txt","r");
    # read line by line
    while (($buffer = fgets($handle, 4096)) !== false) {
        echo '<tr>';
            $array = explode(',', $buffer);
        foreach($array as $val){
             echo '<td>'.$val.'</td>';      
            } 
        echo '</tr>';       
    }