Heim > Backend-Entwicklung > PHP-Tutorial > php读取csv问题

php读取csv问题

WBOY
Freigeben: 2016-06-06 20:48:12
Original
1219 Leute haben es durchsucht

php读取csv问题 测试环境php5.4,服务器环境php5.2,服务器上无法读取,测试环境正常。 请问一下,我php读取csv文件的时候,带双引号的字段能读取出来,不带双引号的字段读取不出来,这个问题是怎么回事呢?

在有的机器上面是正常的,在有的机器上面是不能读取出来。

csv是excel生成的,查看了excel的帮助文件,当单元格里面有逗号的时候,会自动添加双引号。 `
if (isset($_POST['import'])) {
$file = $_FILES['csv_goods'];
$file_type = substr(strstr($file['name'], '.'), 1);

<code>// 检查文件格式
if ($file_type != 'csv') {
    echo '文件格式不对,请重新上传!';
    exit;
}

$handle = fopen($file['tmp_name'], "rb");
require_once('./function.php');
$row = '';

while ($data = fgetcsv($handle, 1000, ',')) {
    unset($setsqlarr);
    unset($rw);
    unset($re);
    $row++;
    if ($row == 1)
        continue;
    $num = count($data);
    for ($i = 0; $i </code>
Nach dem Login kopieren
Nach dem Login kopieren

回复内容:

php读取csv问题 测试环境php5.4,服务器环境php5.2,服务器上无法读取,测试环境正常。 请问一下,我php读取csv文件的时候,带双引号的字段能读取出来,不带双引号的字段读取不出来,这个问题是怎么回事呢?

在有的机器上面是正常的,在有的机器上面是不能读取出来。

csv是excel生成的,查看了excel的帮助文件,当单元格里面有逗号的时候,会自动添加双引号。 `
if (isset($_POST['import'])) {
$file = $_FILES['csv_goods'];
$file_type = substr(strstr($file['name'], '.'), 1);

<code>// 检查文件格式
if ($file_type != 'csv') {
    echo '文件格式不对,请重新上传!';
    exit;
}

$handle = fopen($file['tmp_name'], "rb");
require_once('./function.php');
$row = '';

while ($data = fgetcsv($handle, 1000, ',')) {
    unset($setsqlarr);
    unset($rw);
    unset($re);
    $row++;
    if ($row == 1)
        continue;
    $num = count($data);
    for ($i = 0; $i </code>
Nach dem Login kopieren
Nach dem Login kopieren

http://www.php.net/manual/en/function.fgetcsv.php

文档里写的很清楚,第二个参数要求比你csv文件里最长行的长度要大,你要是不确定最长的行有多长就干脆不用加第二个参数,另外第三个参数默认值就是,,完全没有必要多此一举。

while ($data = fgetcsv($handle, 1000, ',')) {
建议改成
while ($data = fgetcsv($handle)) {

最后:文档里的示例代码只是示例,不要照抄!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage