php 上传文件
admin
2023-06-17 03:21:26
0

一.PHP上传配置

 

有一些配置指令可用于精细地调节PHP的文件上传功能。这些指令用来确定是否启用PHP的文件上传、可允许的最大上传文件大小、可允许的最大脚本内存分配和其他各种重要的资源。

1.file_uploads=on|off : 确定服务器上的PHP脚本是否可以接受文件上传。

2.max_execution_time=integer PHP脚本在注册一个致命错误之前可以执行的最长时间,以秒为单位。

3.memory_limit=integer : 设置脚本可以分配到的最大内存,以MB为单位。这可以防止失控的脚本独占服务器内存。

4.upload_max_filesize=integer :设置上传文件最大大小,以MB为单位。此指令必须小于post_max_size

5.upload_tmp_dir=string :设置上传文件在处理之前必须存放在服务器的临时一个位置,直到文件移动到最终目的地为止。

6.post_max_size=integer :确定通过POST方法可以接受的信息的最大大小,以MB为单位。

 

二.$_FILES数组

 

上传表单的HTML

上传文件:

 

ENCTYPE="multipart/form-data",这里是固定写法,否则文件上传失败

ACTION="upload.php“,定义要处理上传的程序文件路径

METHOD="post",定义传输方式为POST,一般情况下Form提交数据都设置为POST

input type="hidden" name="MAX_FILE_SIZE" value="1000000">,这是一个隐藏域,定义了上传文件的大小上限,超过这个值时,上传失败。它必须定义在文件上传域的前面.而且这里定义的值不 能超过在php.ini 文件中upload_max_filesize设置的值,否则没有意义了.(注意:MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP.ini设置中的上传文件最大值,是不会 失效的。但是最好还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。)

,这是文件上传域,Type属性必须设置为file,Name属性可以自定义,这个值会在代码文件中使用.

 

$_FILES超级全局变量,它储存各种与上传有关的信息,这些信息对于通过PHP脚本上传到服务器的文件至关重要。

1.存储在$_FILES["userfile"]["tmp_name"]变量中的值就是文件在Web服务器中临时存储的位置。

2.存储在$_FILES["userfile"]["name"]变量中的值就是用户系统中的文件名称。

3.存储在$_FILES["userfile"]["size"]变量中的值就是文件的字节大小。

4.存储在$_FILES["userfile"]["type"]变量中的值就是文件的MIME类型,例如:text/plainp_w_picpath/gif

5.存储在$_FILES["userfile"]["error"]变量中的值将是任何与文件上载相关的错误代码。这是在PHP4.2.0中增加的新特性。error分别提供了一些数组常量:0:表示没有发生错误,1:表示上载文件的大小超出了约定值。文件大小的最大值是PHP配置文件中指定的,该指令是upload_max_filesize2:表示上载文件大小超出了HTML表单的MAX_FILE_SIZE元素所指定的最大值。3:表示文件只被部分上载。4:表示没有上载任何文件。

print_r($_FILES);

?>

 

三.PHP上传函数

 

PHP的文件系统库中提供了大量文件处理函数,除此之外,PHP还提供了两个专门用于文件上传过程的函数:is_uploaded_file()move_uploaded_file()

 

1.确定是否上传文件:is_uploaded_file()

if (is_uploaded_file($_FILES["userfile"]["tmp_name"])) {

echo '已经上传到临时文件夹';

} else {

echo '失败';

}

 

2.移动上传文件:move_uploaded_file()

if (!move_uploaded_file($_FILES["userfile"]["tmp_name"],$_FILES["userfile"]["name"])) {

echo '移动失败';

exit;

}


相关内容

热门资讯

日本国会通过法案设立“国家情报... 据共同社报道,当地时间5月27日,日本国会参议院全体会议表决通过设立“国家情报会议”的法案。该法案由...
美国放任AI野蛮生长,是求生还... 【文/观察者网专栏作者 雁默】疯子罕见,但群体的疯狂却是常态……这次特朗普的访华活动,福克斯新闻主持...
@2.5亿新市民,国务院发文促... 【大河财立方 记者 程帅星 王宁宁】2.5亿“新市民”,将逐步享受与“当地人”同等的基本公共服务。近...
中国平煤神马集团天源新能源公司... 据许昌市纪委监委消息:中国平煤神马集团天源新能源有限公司副经理徐光武涉嫌严重违法,目前正接受许昌市监...
陈维忠当选新乡市人民政府市长 5月26日下午,新乡市十四届人大五次会议举行第二次全体会议,大会选举陈维忠为新乡市人民政府市长。
建设银行广东省分行原副行长席荣... 中国建设银行广东省分行原党委委员、副行长席荣贵涉嫌严重违纪违法,目前正接受中央纪委国家监委驻中国建设...
首批AI训练推理芯片通过国家安... 【大河财立方消息】 5月26日,中国信息安全测评中心、国家保密科技测评中心根据《安全可靠测评工作指南...
皮影戏 光影传乡韵 一艺守匠心... 孟照东在小区广场为居民义务表演皮影戏,孩子们围坐台前,看得聚精会神。孟照东展示皮影戏道具。孟照东和徒...