㈠ php文件上传在php.ini中都设置了 post为150M 上传100M 时间设置0,为什么我上传5M文件还是显示错误1,
关于大文件的上传,需要做如下修改:
打开php.ini,首先找到
file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M
一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。
但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。
进一步配置以下的参数
max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 8m ;每个PHP页面所吃掉的最大内存,默认8M
把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
max_execution_time = 600
max_input_time = 600
memory_limit = 32m
file_uploads = on
upload_tmp_dir = /tmp
upload_max_filesize = 32m
post_max_size = 32m
㈡ http post参数值字符过长,PHP服务端接收数据为空
Windows 环境下的修改方法
第一步:修改在php下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
添加下面内容
LimitRequestBody10485760
即10M=10*1024*1024,有的文章中提到应改为 600000000
重新启动apache,就可以在设置里看到你要的大小
Linux 环境下的修改方法
vim /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
㈢ PHP 怎么判断post或get的值是否为小数或者整数
在日常的php开发中,我们可能会碰到,需要判断Get或者Post的数值是否为整型或者是浮点型、是否含有小数
由于php是弱类型语言,很多初次做php开发的程序员对php的数据类型并不是很关注或者熟悉,但是在一些的常见业务实现中往往需要对数据类型进行判断!
分享一个前段时间在业务实现过程中遇到的问题!
比如这样的一个连接:www.davup.com/index.php?add=1000.1
以往正常的逻辑中会直接拿来get['add'] 进行
is_number()【判断是否为数值】
is_float()【是否为小数】
来进行判断。结果发现这样的处理方式是错位的 ! 因为 无论是Post的数据或者是Get的数据,在php中得到的 值得数据类型都是字符串!
所以,上面两个函数是不能正常使用的, 只能用字符串函数来处理! 最简单的方式就是使用strstr(get['add'],'.'); 【判断是否含有小数点,如果含有小数点,就返回真,没有就返回假】!