php 上传参数
php上传文件限制涉及很多方面,大致归纳一下,有如下几个:
1、memory_limit //内存设置限制
2、max_execution_time //程序执行时间限制
3、post_max_size //最大POST数据限制
4、upload_max_filesize //最大上传文件大小限制
当然有这几个也不是绝对就限定了上传文件大小,理论上也只是限制最大可能的上传文件大小,因为内存设置还受限于当前可用内存数,程序执行时间受限于当前系统繁忙状态,POST数据大小还受限于POST冗余头或多断上传数,等等,这些因素都会在某个时机会影响到上传文件结果。
所以从逻辑顺序上:memory_limit > post_max_size > upload_max_filesize,再加上一个前提max_execution_time许可时间足够长。
归纳一下,假设上传限制100M字节,则参考设置如下:
; Maximum execution time of each script, in secondsmax_execution_time = 30; Maximum amount of time each script may spend parsing request datamax_input_time = 60; Maximum input variable nesting level;max_input_nesting_level = 64; Maximum amount of memory a script may consume (128MB)memory_limit = 128M;Maximum size of POST data that PHP will accept.post_max_size = 105M; Maximum allowed size for uploaded files.upload_max_filesize = 100M
一般来讲,上传文件时,首先需要保证上传内存,查看PHP.INI默认配置,memory_limit默认是128M,对一次脚本执行可消耗的内存量。如果上传限制100M,那么这么大的内存量而言足够了(还是一般来讲,比如多文件同时上传可能就会不够)。
调整set_time_limitmax_execution_time默认设置为30秒,对于上传100M文件而言,目前的网络情况来看,30秒要上传100M文件几乎是不可能的,10M带宽完全对称速率,一秒一兆也需要一分半钟。所以这个设置即使调整也难以估算实际执行时间,而且调整太长对APACHE不太友善。
所以建议不要调整max_execution_time,而只是在PHP程序中使用:
set_time_limit(0);
进行临时调整。设置0表示没有时间限制。当然从程序执行角度,设置0是解决了超时问题,但其实并非好的解决办法,如果程序支持断点续传,那么设置600秒或3600秒也似乎是个更好的思路,超时时自动断点续传即可。
查找 post_max_size = 2M (默认为2M)改为想要的大小,如:post_max_size = 100M
upload_max_filesize 表示所上传的文件的最大值。
查找upload_max_filesize,默认为8M改为upload_max_filesize = 100M
需要注意的是,把post_max_size 大于 upload_max_filesize 的设置为好。
最后,设置结束后,需要重新启动apache。
具体可查看 PHP手册 中的 〔php.ini 核心配置选项说明〕
upload_max_filesize 所上传的文件的最大大小。
post_max_size 设定 POST 数据所允许的最大大小。
memory_limit 设定了一个脚本所能够申请到的最大内存字节数。
PHP上传文件涉及到的参数PHP默认的上传限定是最大2M,想上传超过此设定的文件,需要调整PHP、apache等的一些参数. 下面,我们简要介绍一下PHP文件上传涉及到的一些参数:
file_uploads
是否允许通过HTTP上传文件的开关,默认为ON即是开
upload_tmp_dir
upload_tmp_dir用来说明PHP上传的文件放置的临时目录,要想上传文件,得保证服务器没有关闭临时文件和有对文件夹的写权限,如果未指定则PHP使用系统默认值
upload_max_filesize
允许上传文件大小的最大值,默认为2M
post_max_size
控制在采用POST方法进行一次表单提交中PHP所能够接收的最大数据量。如果希望使用PHP文件上传功能,则需要将此值改为比upload_max_filesize要大
max_input_time
以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制。如果应用程序所运行环境处在低速链路上,则需要增加此值以适应接收数据所需的更多时间
memory_limit
为了避免正在运行的脚本大量使用系统可用内存,PHP允许定义内存使用限额。通过memory_limit变量来指定单个脚本程序可以使用的最大内存容量变量memory_limit的值应当适当大于post_max_size的值
max_execution_time
max_execution_time设置了在强制终止脚本前PHP等待脚本执行完毕的时间,此时间以秒计算。当脚本进入了一个无限循环状态时此变量非常有用。然而,当存在一个需要很长时间完成的合法活动时(例如上传大型文件),这项功能也会导致操作失败。在这样的情况下必须考虑将此变量值增加,以避免 PHP在脚本正在执行某些重要过程的时候将脚本关闭
打开php.ini,首先找到
file_uploads = on ;是否允许通过HTTP上传文件的开关。默认为ON即是开
upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹
upload_max_filesize = 8m ;望文生意,即允许上传文件大小的最大值。默认为2M
post_max_size = 8m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为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

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Instagram은 2012 년 Facebook에서 유명한 인수에 이어 타사 사용을 위해 두 개의 API 세트를 채택했습니다. Instagram Graph API 및 Instagram Basic Display API입니다. 개발자는

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다
