设为首页 收藏本站
查看: 998|回复: 0

[经验分享] php 上传文件

[复制链接]

尚未签到

发表于 2018-12-13 11:09:40 | 显示全部楼层 |阅读模式
  一.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/plain或image/gif。
5.存储在$_FILES["userfile"]["error"]变量中的值将是任何与文件上载相关的错误代码。这是在PHP4.2.0中增加的新特性。error分别提供了一些数组常量:0:表示没有发生错误,1:表示上载文件的大小超出了约定值。文件大小的最大值是PHP配置文件中指定的,该指令是upload_max_filesize。2:表示上载文件大小超出了HTML表单的MAX_FILE_SIZE元素所指定的最大值。3:表示文件只被部分上载。4:表示没有上载任何文件。

  
  三.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;
}
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650884-1-1.html 上篇帖子: Centos 7.3环境PHP7.0安装 下篇帖子: php 二叉树 与赫夫曼树
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表