【问题标题】:How to find out the error when a csv file won't be uploaded by php?php无法上传csv文件时如何找出错误?
【发布时间】:2019-08-18 11:24:35
【问题描述】:

我正在创建 csv 文件并将它们上传到我的 PHP 应用程序中。

我以相同的方式创建每个文件,只是每次都更改内容。我这样做是为了将信息从一个站点手动导入到另一个站点。

我的问题是一个 csv 文件没有被正确读取。

我对表单中的附件字段所做的是将其放入变量中并 var_dump 变量:

$adjunto = $_FILES['adjunto'];
var_dump($adjunto);

结果如下:

array(5) {
  ["name"]=>
  string(20) "importArticulos1"
  ["type"]=>
  string(0) ""
  ["tmp_name"]=>
  string(0) ""
  ["error"]=>
  int(1)
  ["size"]=>
  int(0)
}

其他文件上传没有问题:

array(5) { when 
  ["name"]=>
  string(11) "importJuris"
  ["type"]=>
  string(24) "application/octet-stream"
  ["tmp_name"]=>
  string(14) "/tmp/phpzC2FAM"
  ["error"]=>
  int(0)
  ["size"]=>
  int(1881617)
}

我的问题是:当文件根本无法读取或无法识别时,我如何才能更多地了解错误?

顺便说一句,错误日志告诉我:

[18-Aug-2019 08:23:20 America/Argentina/Buenos_Aires] PHP 警告: fopen(/home/rosamunda/public_html/importar.csv):打开失败 流:中没有这样的文件或目录 /home/rosamunda/public_html/demo1.php 在第 131 行

第 131 行尝试使用 fopen() 打开文件,但该文件无法打开,因为该文件甚至无法识别。

【问题讨论】:

  • 错误表明该文件甚至不存在。这可能是它无法阅读的原因;)
  • 正是如此,为什么它不能作为任何其他文件上传?表格和上传代码是一样的,所以问题出在csv文件本身。我如何才能更多地了解 csv 文件可能出现的问题?
  • ???无法上传,因为它不存在。生成这些 CSV 文件的代码中的某些内容似乎是错误的,并且不会生成 importar.csv
  • 这就是问题所在:不是代码而是 csv 文件。我尝试了其他几个 csv 文件,它们都上传没有问题。 csv 文件会出现什么问题?

标签: php csv import


【解决方案1】:

对于上传失败,提供的错误号是1。Looking at the official list of error codes,错误号1是:

UPLOAD_ERR_INI_SIZE

值:1;上传的文件超过了 php.ini 中的 upload_max_filesize 指令。

因此,您需要在 php.ini 中增加 upload_max_filesize 选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    相关资源
    最近更新 更多