php - php无法上传csv文件时如何找出错误?
问题描述
我正在创建 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)
}
我的问题是:当文件根本无法读取或无法识别时,我如何才能更多地了解错误?
顺便说一句,错误日志告诉我:
[2019 年 8 月 18 日 08:23:20 America/Argentina/Buenos_Aires] PHP 警告:fopen(/home/rosamunda/public_html/importar.csv):无法打开流:/home/rosamunda/ 中没有此类文件或目录第 131 行的 public_html/demo1.php
第 131 行尝试打开fopen()
无法打开的文件,因为该文件甚至无法识别。
解决方案
对于上传失败,提供的错误号是1。查看官方的错误代码列表,错误号1是:
UPLOAD_ERR_INI_SIZE
值:1;上传的文件超过了 php.ini 中的 upload_max_filesize 指令。
因此,您需要增加upload_max_filesize
php.ini 中的选项。
推荐阅读
- android - 时间提前在 Android 中无效
- angular - 如何使用带有 spring 和 Angular 的多模块 gradle 项目创建 Docker 生产映像
- laravel - Laravel/Spatie 角色和权限问题:如何更改默认模型
- css - 禁用组件时应用 CSS 的方法
- r - R:fn(unlist(x),...)中的错误:未使用的参数(unlist(x))
- json - 通过 curl 和 JSON 发送变量获取无效负载
- android-studio - Android Studio - 更新到 4.2 后生成 apk 时出现错误(密码验证失败)
- r - 如何传播与 strsplit 结合的小标题?
- python - 继续获取此 Python 代码的 SyntaxError
- llvm - 获取对结构的每个成员变量的访问次数或频率