Home > Backend Development > PHP Tutorial > Detailed explanation of reading csv file content based on PHP

Detailed explanation of reading csv file content based on PHP

高洛峰
Release: 2023-03-04 10:28:01
Original
1355 people have browsed it

Read the data of all rows in the csv file at one time

<?php 
$file = fopen(&#39;windows_2011_s.csv&#39;,&#39;r&#39;); 
while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容
//print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可
$goods_list[] = $data;
 }
//print_r($goods_list);
/* foreach ($goods_list as $arr){
    if ($arr[0]!=""){
        echo $arr[0]."<br>";
    }
} */
 echo $goods_list[2][0];
 fclose($file);
?>
Copy after login


Read the data of a certain row of the csv file

<?php
function get_file_line( $file_name, $line ){
  $n = 0;
  $handle = fopen($file_name,&#39;r&#39;);
  if ($handle) {
    while (!feof($handle)) {
        ++$n;
        $out = fgets($handle, 4096);
        if($line==$n) break;
    }
    fclose($handle);
  }
  if( $line==$n) return $out;
  return false;
}
echo get_file_line("windows_2011_s.csv", 10);
?>
Copy after login

Read the csv file to formulate Number of lines (line interval)

<?php
function get_file_line( $file_name, $line_star,  $line_end){
    $n = 0;
    $handle = fopen($file_name,"r");
    if ($handle) {
        while (!feof($handle)) {
            ++$n;
            $out = fgets($handle, 4096);
            if($line_star <= $n){
                $ling[] = $out;
            }
            if ($line_end == $n) break;
        }
        fclose($handle);
    }
    if( $line_end==$n) return $ling;
    return false;
}
$aa = get_file_line("windows_2011_s.csv", 11, 20);  //从第11行到第20行
foreach ($aa as $bb){
    echo $bb.
Copy after login

Two other methods found on the Internet (haven’t tested it, I don’t know if it works)

<?
$handle=fopen("1.csv","r");
while(!feof($handle)){
$buffer=fgetss($handle,2048);
$data=explode(",",$buffer);
$num=count($data);
for($i=0;$i<$num;$i++){
print_r($data);
}
}
?>
Copy after login
<?
$handle=fopen("1.csv","r");
$row=1;
while($data=fgetcsv($handle,1000,",")){
$num=count($data);
for($i=0;$i<$num;$i++){
echo $data[$i];
}
$row++;
}
?>
Copy after login

More detailed explanations on reading csv file content based on PHP Please pay attention to the PHP Chinese website for articles!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template