代码之家  ›  专栏  ›  技术社区  ›  CMR

fgetcsv在php 4中返回空值

  •  1
  • CMR  · 技术社区  · 6 年前

    我们的一个系统运行在php 4上,不,我不能更改它。

    这个 fgetcsv 函数似乎返回空值,不管我上传什么文件。

    非常简单地说:

    $handle = fopen($file,"r");
    var_dump(fgetcsv($handle));
    fclose($handle);
    

    这将打印出“空”。

    在$handle对象上执行var_dump会给我一个资源:

    resource(33) of type (stream)
    

    但是我在使用fgetcsv时得到了空值

    我可以用 file_get_contents ,但将其解析为csv更为糟糕。

    正如我所说,在php 4上我真的做不了什么。有人知道这可能是什么原因吗,或者我应该换个方法吗?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   vp_arth    6 年前


    move_uploaded_file

    fseek($handle, 0)


    file_get_contents

    tmpfile

    $csv = file_get_contents($file);
    $temp = tmpfile();
    fwrite($temp, $csv);
    fseek($temp, 0); // prepare for read at start
    $data = fgetcsv($temp);
    fclose($temp); // file autoremoved here