Heim  >  Artikel  >  php教程  >  PHP liest/exportiert CSV-Dateien

PHP liest/exportiert CSV-Dateien

WBOY
WBOYOriginal
2016-08-04 08:56:181235Durchsuche

Es gibt häufig Import-/Exportanforderungen. Die folgenden Methoden werden häufig verwendet.
Um eine CSV-Datei zu lesen, können Sie sie in Seiten lesen. Legen Sie einfach die Anzahl der zu lesenden Zeilen und die Anzahl der Startzeilen fest.
CSV-Dateien exportieren, auf zwei Arten implementiert.

/**<br> * CSV-Datei lesen<br> * @param string $csv_file CSV-Dateipfad<br> * @param int $lines Anzahl der zu lesenden Zeilen<br> * @param int $offset Startzeilennummer<br> * @return array|bool<br> ​*/<br> öffentliche Funktion read_csv_lines($csv_file = '', $lines = 0, $offset = 0)<br> {<br>     if (!$fp = fopen($csv_file, 'r')) {<br>         return false;<br>     }<br>     $i = $j = 0;<br>     while (false !== ($line = fgets($fp))) {<br>         if ($i  < $offset) {<br />             weiter;<br />         }<br />         Pause;<br />     }<br />     $data = array();<br />     while (($j  < $lines) && !feof($fp)) {<br />         $data[] = fgetcsv($fp);<br />     }<br />     fclose($fp);<br />     return $data;<br /> }<br /> <br /> <br /> /**<br /> * CSV-Datei exportieren<br /> * @param Array $data Daten<br /> * @param array $header_data erste Datenzeile<br /> * @param string $file_name Dateiname<br /> * @return string<br /> ​*/<br /> öffentliche Funktion export_csv_1($data = [], $header_data = [], $file_name = '')<br /> {<br />     header('Content-Type: application/octet-stream');<br />     header('Content-Disposition: attachment; filename=' . $file_name);<br />     if (!empty($header_data)) {<br />         echo iconv('utf-8','gbk//TRANSLIT','"'.implode('","',$header_data).'"'."n");<br />     }<br />     foreach ($data as $key => $value) {<br>         $output = array();<br>         $output[] = $value['id'];<br>         $output[] = $value['name'];<br>         echo iconv('utf-8','gbk//TRANSLIT','"'.implode('","', $output).""n");<br>     }<br> }<br> <br> /**<br> * CSV-Datei exportieren<br> * @param Array $data Daten<br> * @param array $header_data erste Datenzeile<br> * @param string $file_name Dateiname<br> * @return string<br> ​*/<br> öffentliche Funktion export_csv_2($data = [], $header_data = [], $file_name = '')<br> {<br>     header('Content-Type: application/vnd.ms-excel');<br>     header('Content-Disposition: attachment;filename='.$file_name);<br>     header('Cache-Control: max-age=0');<br>     $fp = fopen('php://output', 'a');<br>     if (!empty($header_data)) {<br>         foreach ($header_data as $key => $value) {<br>             $header_data[$key] = iconv('utf-8', 'gbk', $value);<br>         }<br>         fputcsv($fp, $header_data);<br>     }<br>     $num = 0;<br>     //每隔$limit行,刷新一下输出buffer,不要太大,也不要太小<br>$limit = 100000;<br> //Daten Zeile für Zeile abrufen, ohne Speicher zu verschwenden <br> $count = count($data);<br> Wenn ($count > 0) {<br> für ($i = 0; $i < $count; $i ) {<br />               $num ;<br /> ​​​​​​ //Ausgabepuffer aktualisieren, um Probleme durch zu viele Daten zu vermeiden<br />                if ($limit == $num) {<br />                    ob_flush();<br /> blush();<br />                   $num = 0;<br />             }<br />              $row = $data[$i];<br /> foreach ($row as $key => $value) {<br>                $row[$key] = iconv('utf-8', 'gbk', $value);<br>             }<br>                  fputcsv($fp, $row);<br>         }<br> }<br> ​​fclose($fp);<br> }Für weitere [trockene Informationsweitergabe] folgen Sie bitte dem PHP Engineer-Abonnementkonto.
PHP liest/exportiert CSV-Dateien

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn