周大胖子 发表于 2019-6-19 18:10:42

Laravel 上传文件失败

由于之前 我调整过上传文件的大小,导致我没在意这件事,而且走了一天的误区,好累啊。

先开始误区之旅:
    我上传 文件失败【国家网的.xls商品文件,大小2.8MB内部含有一张表】
   1. 一开始 我以外上传文件 接收失败,找了很多种接收方法 结果只接收到了文件名---后来传了个PNG 发现可以,证明我猜错了;
   2. 我又开始认为是laravel 或者phpstudy 限制了格式,然后我先 找了下 laravel 没有默认的文件格式设置,phpstydu 也没有 -- 后来我换了个大图片证明我错了;
   3. 最后找到了限制大小问题上。然后我就想 我之前 改掉了post 数据大小,上传文件的大小,是不是laravel 有默认的大小设置,经过检查,并没有。 最后我看到一片文章,参考文献:https://blog.csdn.net/hinsion/article/details/81671279   发现 原来apache 居然也有上传文件限制 这不吓人嘛-。-

贴一片文章:
Windows 环境下的修改方法第一步:修改在php5下POST文件大小的限制
1.编修php.ini
找到:max_execution_time = 30 ,这个是每个脚本运行的最长时间,单位秒,修改为:
max_execution_time = 150
找到:max_input_time = 60,这是每个脚本可以消耗的时间,单位也是秒,修改为:
max_input_time = 300
找到:memory_limit = 128M,这个是脚本运行最大消耗的内存,根据你的需求更改数值,这里修改为:
memory_limit = 256M
找到:post_max_size = 8M,表单提交最大数据为 8M,此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的。限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等…这里修改为:
post_max_size = 20M
找到:upload_max_filesize = 2M ,上载文件的最大许可大小 ,修改为:
upload_max_filesize = 10M
第二步: Apache环境中的档案上传大小控制
修改位于Apahce目录下的httpd.conf
添加下面内容
LimitRequestBody 10485760
即10M=10*1024*1024,有的文章中提到应改为 600000000
重新启动apache,就可以在设置里看到你要的大小================================================================Linux 环境下的修改方法修改etc/php.ini
找到 File Uploadsh区域修改以下几个参数: file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹(moodle可以不改)
upload_max_filesize = 8m ;允许上传文件大小的最大值.
找到 Data Handling区域,修改 post_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
设上述四个参数后,上传小于8M的文件一般不成问题。但如果上传大于8M的文件,只还得设置以下参数:
在Resource Limits 区域: max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒 max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒 memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M
页: [1]
查看完整版本: Laravel 上传文件失败