经验总结:示例PHP上传文件代码

开发 后端
文章这里详细的介绍了PHP上传文件代码,为大家解决上传文件的问题,希望对喜爱PHP开发的朋友有帮助。

今天看了一本关于PHP的书,让我了解了PHP上传文件的方法,最主要的两个函数是move_uploade_file(临时文件,目标位置和文件名)和is_uploaded_file(),前者用来移动上传后保存在服务器缓存区的文件到目标文件,后者用来判断文件是否上传成功。除了以上两个函数之外,还要说明一下form标签中enctype的值应该如下:

  1. <formenctypeformenctype="multipart/form-data"method="post"name="upform"> 

只有其值为multipart/form-data才能保证以正确的编码方式上传文件。input标签type属性中的"file"

  1. <inputnameinputname="upfile"type="file"> 

#T#另一个系统函数是$_FILES,$_FILES['myFile']['name']客户端文件的原名称、$_FILES['myFile']['type']文件的MIME类型,例如"image/gif"、$_FILES['myFile']['size']已上传文件的大小,单位为字节、$_FILES['myFile']['tmp_name']储存的临时文件名,一般是系统默认、$_FILES['myFile']['error']该文件上传相关的错误代码。这个函数将上传文件的信息分割成数组形式保存在不同的数组元素中,例如,文件名的值存储在$_FILES['myFile']['name']中。下面附上自己写的简单的PHP上传文件代码:

PHP上传文件代码类saveupload.php

  1. <?php 
  2. if(is_uploaded_file($_FILES['upfile']['tmp_name'])){  
  3. $upfile=$_FILES["upfile"];//如果已经选定了要上传的文件,将其索引保存在$upfile中  
  4.  
  5.  
  6. //分别去上传文件的名字,类型等  
  7. $name=$upfile["name"];  
  8. $type=$upfile["type"];  
  9. $size=$upfile["size"];  
  10. $tmp_name=$upfile["tmp_name"];  
  11. $error=$upfile["error"];  
  12.  
  13.  
  14. //设定上传文件类型  
  15. switch($type){  
  16. case'image/pjpeg':  
  17. $ok=1;  
  18. break;  
  19.  
  20. case'image/jpeg':  
  21. $ok=1;  
  22. break;  
  23.  
  24. case'image/png':  
  25. $ok=1;  
  26. break;  
  27.  
  28. case'image/gif':  
  29. $ok=1;  
  30. break;  
  31. }  
  32.  
  33.  
  34. //如果文件类型合法并且$error返回值为0,说明上传成功  
  35. if($ok&&$error=='0'){  
  36. move_uploaded_file($tmp_name,'up/'.$name);//将保存在缓存的文件移动到指定目录下  
  37. echo"上传成功";  
  38. }  
  39. }  
  40.  
  41. ?> 

PHP上传文件代码上传页面upload.php

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=utf-8"/> 
  5. <title>upload</title> 
  6. <styletypestyletype="text/css"> 
  7. <!--  
  8. body{  
  9. background-color:#CFF;  
  10. text-align:center;  
  11. }  
  12. --> 
  13. </style></head> 
  14.  
  15. <body> 
  16. 文件上传  
  17. <hr/> 
  18. <formidformid="form1"name="form1"method="post"action="saveupload.php"enctype="multipart/form-data"> 
  19. 上传文件:  
  20. <label> 
  21. <inputtypeinputtype="file"name="upfile"/> 
  22. </label> 
  23. <label> 
  24. <inputtypeinputtype="submit"name="button"id="button"value="上传"/> 
  25. </label> 
  26. </form> 
  27.  
  28. </body> 
责任编辑:田树 来源: 博客
相关推荐

2009-11-17 11:24:00

PHP应用技巧

2009-12-09 13:11:03

PHP框架常见错误

2009-10-15 09:27:00

2009-09-16 17:13:54

学习Linq

2010-05-17 09:45:00

subversion源

2009-09-29 16:32:11

OJB Hiberna

2009-08-19 09:24:43

AJAX引擎经验总结

2014-12-15 14:39:00

Java

2010-06-02 10:26:06

SVN源代码管理

2011-07-08 13:15:52

JSP

2009-10-22 15:07:12

综合布线工程

2010-06-12 17:37:18

UML实践指南

2009-09-08 10:57:55

LINQ查询操作

2009-09-11 13:29:31

LINQ查询操作

2009-08-20 17:35:47

Servlet和JSP

2009-09-16 17:44:54

LINQ to SQL

2009-09-08 16:02:47

Linq使用Group

2013-12-18 15:54:21

2010-06-13 13:44:07

UML学习笔记

2010-07-16 09:14:49

Perl模式
点赞
收藏

51CTO技术栈公众号