php.ini针对文件上传的修改还有move_uploaded_file()函数对中文字符上传失败的解决方法

php 配置允许上传文件,PHP安全配置 上传文件(转) 5、文件上传php文件上传机制是把用户上传的文件保存在php.ini的upload_tmp_dir定义的临时目录(默认是系统的临时目录,如:/tmp)里的一个类似phpxXuoXG的随机临时文件,程序执行结束,该临时文件也被删除。PHP上传的文件定义了四个变量:(如form变量名是file,而且register_globals打开)$file #就是保存到服务器端的临时文件(如/tmp/php... 阅读详情

以下设置为xampp中:

打开php.ini,首先找到

file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size = 100m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为M
一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。


进一步配置以下的参数
max_execution_time = 30 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 60 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 1024m ;每个PHP页面所吃掉的最大内存,默认1024M
把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
max_execution_time = 600
max_input_time = 600
memory_limit = 1024m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m

post_max_size = 100m



还有就是使用move_uploaded_file()函数的时候,需要注意一下问题


因为php字符编码和windows不同的问题,简体中文版的windows对文件名的命名一般使用gbk或gb2312编码。而php中的非ASCII字符串变量的值大多使用utf8编码(当然,这个默认值可以修改。。)。你需要将$name变量转换为gbk编码,才能在windows的文件系统中命名并存储下来。可以使用mb_convert_encoding函数来转换字符串的编码。
假设你的php是utf8编码,那么你将你的代码中
move_uploaded_file($tmp_name,'upload/' .$name); 
这一行改成
move_uploaded_file($tmp_name,'upload/' .mb_convert_encoding($name,"gbk", "utf-8"));


PHP上传大文件,如何修改配置? 上传1G以内大文件为例,下面是修改步骤: 打开php.ini文件,修改以下配置: 是否允许通过http上传文件,默认是on开启的,如果是off,改成on file_uploads = on 允许上传文件的最大值,右边的数值,根据实际需要设置 upload_max_filesize = 1024m 通过表单post给php能够接收的最大值 post_max_size = 1024m 每个PHP页面运行的最大时间(单位:秒) max_execution_time = 600 每个PHP页面 阅读详情

相关推荐

PHP 上传报错 413 Request Entity Too Large 解决方法

解决方案 找到nginx的配置文件nginx/conf/nginx.conf,在location块中添加其中的配置为: client_max_body_size 200m;

lightserver.cn 2379

nginx 修改php.ini,可道云提示上传文件太大,修改php.ini和nginx.conf依然如此

反馈bug/问题模板,提建议请删除1.关于你要提交的问题Q:是否搜索了issue (使用 "x" 选择)[x ] 没有类似的issue2. 详细叙述(1) 具体问题A:可道云上传文件提示文件太大(2) 路由器型号和固件版本A:x86, R20.8.27(3) 详细日志A: 提示信息413: request entity too large修改了/etc/php.ini和/etc/nginx/ngi...

weixin_34162851的博客 1275

修改PHP配置但是上传大文件依旧失败怎么办?

修改PHPupload_max_filesize、post_max_size、memory_limit、max_execute_time等等配置,但是上传大文件依旧失败怎么办?当然不能简单粗暴的将这几个参数调大,否则服务器会出现内存资源吃光是早晚的的问题。3.把文件的FILE对象进行切割,并且附加到FORMDATA对象中。2.把文件从上传临时目录移动到上传文件夹。3.所有的文件块上传完成后,进行文件合成。1.监听上传按钮的onchange事件。2.获取文件的FILE对象。5.返回上传后的文件路径。

winkexin的博客 447

【运维杂谈】Nginx部署项目,上传文件报错413,如何解决

哈喽,大家好,本篇文章给大家介绍下,Nginx部署的项目,上传文件报错413怎么解决

吾日三省吾身,想出类拔萃,要把知识学牢,学全,学深,学广。 1183

PHP开发-文件上传

文章目录一. 前端部分二. 后端处理2.1 错误信息解读2.2 PHP文件上传原理2.3 move_uploaded_file() 关键函数ifelse实现switch 实现2.4 文件格式与重名问题随机文件名2.5 后缀名pathinfo 函数2.6 控制文件 格式,大小文件格式in_array 函数文件大小2.7 文件上传相关配置File Uploadspost_max_sizemax_input_timememory_limit源码 一. 前端部分 form 表单 必须提供 enctype 与 met

欢迎关注微💌,不定期发布安全运维、甲方视角安全建设、乙方厂商专业安全服务内容。 928

php.ini修改php上传文件大小限制的方法详解 和解决 413 Request Entity Too Large

打开php.ini,首先找到 file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2M post_max_size = 8m ;指通过表单POST给PHP...

大海技术博客 4218

php move_uploaded_file 改变视频大小,phpmove_uploaded_file – 最大文件大小问题

我正在尝试使用PHP上传我的服务器上的文件,但它失败了:move_uploaded_file()返回false.我的文件是230,000个字符(224 ko)的文本文件但是,如果我尝试将文件减少到4500个字符,那么效果很好.是否有最多的字符数?$host="";$user="";$pass="";//$db = mysql_connect($host,$user,$pass);//mysql_s...

weixin_36204727的博客 336

Nginx解决错误413 Request Entity Too Large

最近一个项目当中,要求上传图片,并且限制图片大小,虽然在laravel当中已经添加了相关的表单验证来阻止文件过大的上传,然而当提交表单时,还没轮到laravel处理,nginx就先报错了。当你仔细看报错页面时,你会发现有nginx版本信息,经过分析,这报错是因为nginx的默认上传文件大小配置client_max_body_size只有2MB,基于nginx验证比laravel验证要早,想要友...

weixin_34306446的博客 1334

上传图片(文件)在本地没问题,服务器上报错413(Request Entity Too Large)

上传这个问题困了我几个小时才找到原因。 原因:服务器使用了nginx,nginx默认的上传文件大小为1M,所以如果想上传更大的文件,就需要修改nginx的配置文件。 操作:在nginx的配置文件中的server下的server_name下,添加 client_max_body_size 10M ;然后重启nginx,就解决问题了...

枕上白书的博客 2874

完美解决php无法上传大文件组件

PHP用超级全局变量数组$_FILES来记录文件上传相关信息的。 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本最大执行时间,超过这个时间就会报错 3.memory_limit=50M 设置脚本可以分配的最大内存量,防止失控脚本占用过多内存,此指令只有在编译时设置了 --enable-memory-limit标志的情况下才生效 4.upload_max_filesize=20M 允...

yjjatqihc的博客 347

PHP上传文件move_uploaded_file的问题

PHP上传文件move_uploaded_file的问题 2010-10-03 17:38:24  作者:  来源:网络  文字大小:【大】【中】【小】 名著小说 国学经典 QQ个性签名QQ头像 我也一直很困惑。在文档上,说的比较模糊,就是 move_uploaded_file 这个函数,加了一步检查,检查这个文件是否是有 HTTP POST 上传的, 至于,

可克技术 3946

解决上传文件提示“413 request entity too large“错误

解决上传文件提示"413 request entity too large"错误

Alex 1332

***PHP $_FILES函数详解 + PHP文件上传 move_uploaded_file() 参数的正确写法

PHP $_FILES函数详解 在PHP上传一个文件建一个表单要比ASP中灵活得多。具体的看代码。如:  复制代码代码如下: &lt;form enctype="multipart/form-data" action="upload.php" method="post"&gt; &lt;input type="hidden" name="MAX_FILE_SIZE" value=&q

weixin_34124577的博客 738

move_uploaded_file()移动文件失败

move_uploaded_file()文件移动失败 failed to open stream: No such file or directory Unable to move 1、不是使用POST方法上传的文件 2、php.ini 配置出错 3、默认暂时存储的文件夹或目标文件夹 权限不足

dy3200的博客 3万+

【服务器配置】php move_uploaded_file文件移动失败

在学习php的过程中,很多时候在本地windows的环境下跑通的代码上传到云服务器(我使用的云主机的系统是Ubuntu)上的时候发生一些自己不敢相信的事情,相信很多小伙伴和我有过一样的经历。 最近在做上传图片这样一个实验的时候,这种情况再次发生了,很痛苦,在网上找到的答案都没能很好的解决问题,只好静下心来想一下问题可能出现在什么位置。 出现这种问题可能是因为: 1、权限不够 2、文

追寻水中桥 1万+

PHP笔记:move_uploaded_file中文乱码

move_uploaded_file中文乱码

憧憬,思考,奋斗,飞翔 491

php 解决 move_uploaded_file() 中文乱码问题

上传文件后,一般都会用 move_uploaded_file() 进行文件移动改名。但是 move_uploaded_file() 并不支持 UTF-8 编码,如果含有,那么函数就会执行失败,但是这个函数是支持 GB2312 或者是 GBK 编码的,因此可以利用 iconv() 函数先进行名字转换来来解决问题。有两种情况: 1. 服务器是中文 Windows 环境 在服务器是中文 W

晨光飞舞的专栏 7955
上一篇: 关于json对象和数组的访问的一些问题
下一篇: jquery获取动态生成的元素
h_025
博客等级 码龄11年 8粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值