利用文件函数实现PHP文件上传案例分析
创始人
2024-06-11 18:10:51
0

如果你是一个电脑爱好者,不知道PHP的话你就太落伍了,如果想知道PHP的相关知识,我们就一起来看看PHP文件上传的实现吧。这段代码分为两个文件,一个为upload.html,一个是upload.php。

  1.  enctype="multipart/form-data" action="upload.php" method="post"> 
  2.  type="hidden" name="max_file_size" value="100000"> 
  3.  name="userfile" type="file">    
  4.  type="submit" value="上传文件"> 
  5.  

#T#其中,请注意

这是一个标签,我们要实现文件的上传,必须指定为multipart/form-data,否则服务器将不知道要干什么。值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置其Value(值)可以限制上载文件的大小。MAX_FILE_SIZE 的值只是对浏览器的一个建议,实际上它可以被简单的绕过。因此不要把对浏览器的限制寄希望于该值。实际上,PHP 设置中的PHP文件上传***值,是不会失效的。但是***还是在表单中加上 MAX_FILE_SIZE,因为它可以避免用户在花时间等待上传大文件之后才发现该文件太大了的麻烦。

  1. upload.php  
  2. $f=&$HTTP_POST_FILES['Myfile'];  
  3. $dest_dir='uploads';//设定上传目录  
  4. $dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//设置文件名为日期加上文件名避免重复  
  5. $r=move_uploaded_file($f['tmp_name'],$dest);  
  6. chmod($dest, 0755);//设定上传的文件的属性 

或者

  1. ($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?> 

以上范例中 $_FILES 数组的内容如下所示。我们假设文件上传字段的名称为 userfile(名称可随意命名)

  1. $_FILES['userfile']['name']//客户端机器文件的原名称。  
  2. $_FILES['userfile']['type'] //文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。  
  3. $_FILES['userfile']['size']// 已上传文件的大小,单位为字节。  
  4. $_FILES['userfile']['tmp_name'] //文件被上传后在服务端储存的临时文件名。  
  5. $_FILES['userfile']['error'] //和该文件上传相关的错误代码 

PHP文件上传值分析:
◆值:0; 没有错误发生,文件上传成功。
◆值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
◆值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
◆值:3; 文件只有部分被上传。
◆值:4; 没有文件被上传。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...