谈谈php中上传文件的处理

编程之家收集整理的这篇文章主要介绍了谈谈php中上传文件的处理编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

  这是一个表单的时代。。。

  我们在浏览器中编辑自己的信息,会遇到上传头像;在文库中,我们会上传文档......到处存在“上传”这个词。

  PHP是最好的语言(其他语言的程序猿们不要打我...)。PHP在处理交互方面有天然的优势,自然有强大的函数来处理上传文件

  和提交一般的数据一样,上传文件也需要表单。下面建立一个特殊的表单来上传文件

1 <form enctype="multipart/form-data" action="upload_file.PHP" name="upload_form" method="post">
2     <!--MAX_FILE_SIZE必须在所有的input之前,以后要是想用上传表单,可以在form之后就写隐藏的input-->
3     input type="hidden"="MAX_FILE_SIZE" value="30000"/>
4     上传文件5     ="file"="userfile"6     hr7     ="submit"="sub_button"="上传文件的提交按钮"8 
9 </form>

  ok,我们分析一下这个代码段。

  以上的enctype规定了数据在发送给服务器的时候采用什么编码格式。它有三个值:

  MAX_FILE_SIZE隐藏字段(单位为字节)必须放在文件输入字段之前,其值为文件的最大尺寸。这是对浏览器的一个建议,PHP也会检查此项。不过在浏览器端可以绕过这个障碍,因此不要指望用它来阻挡大文件。但是文件最大值受PHP.ini中的post_max_size= (number)M的限制。但是最好还是加上这个项目,它可以避免用户在花时间等待上传文件之后才发现大文件上传失败的麻烦。

  在用户提交文件表单之后,服务器端就可以接受数据了。PHP中有全局变量$_FILES来处理文件,假设上传字段名称为userfile(可以在字段中随意更改)。

  $_FILES['userfile']['name']                客户端文件的原名称

  $_FILES['userfile']['type']                 文件MIME类型,这个在PHP端并不检查,因此这个值还不一定有。   

  $_FILES['userfile']['size']                  上传文件的大小(单位字节)。

      $_FILES['userfile']['tmp_name']         文件上传后在服务器端存储的临时文件名。

  $_FILES['userfile']['error']                 和该文件上传相关的错误代码。如果上传成功,值为0.

  文件上传后,默认存储到服务器默认临时目录中,在PHP.ini中的upload_tmp_dir设置为其他路径。

  在这里还得说说一个move_uploaded_file()函数

  

  这个函数检查并确保由 file 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 newloc 指定的文件

  如果 file 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。

  如果 file 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false,此外还会发出一条警告。

  这种检查显得格外重要,如果上传文件有可能会造成对用户或本系统的其他用户显示内容的话。

  下面是一个PHP上传文件实例:

 1 b>上传文件处理 2  3 <?PHP
 4 if (isset($_FILES['userfile'])) {
 5     $uploaddir = 'upload/';
 6     $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
 7     echo '<pre>';
 8     if (move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)) {
 9         echo '上传文件成功'.'<br>';
10     } else {
11         echo '上传文件失败'.'<br>';
12     }
13     echo '这是上传文件的一些信息:' . '<br>';
14     print_r($_FILES);
15 16     die();
17 }
18 
19 ?>
20 >上传表单21 表单中的enctype属,必须和以下定义保持一致22 23     24     25 26     27     28     29 >

 

总结

以上是编程之家为你收集整理的谈谈php中上传文件的处理全部内容,希望文章能够帮你解决谈谈php中上传文件的处理所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

相关文章

猜你在找的PHP相关文章

(o゜▽゜)o☆[BINGO!] ok,我们先看看cookie是什么东东? cookie是服务器留在客户端的用于识别用户或者存储一些数据的小文件(注意,session存储在服务器端,这是两者的区别之一
这是一个表单的时代。。。 我们在浏览器中编辑自己的信息,会遇到上传头像;在文库中,我们会上传文档......到处存在“上传”这个词。 php是最好的语言(其他语言的程序猿们不要打我...)。php在处
d ( ̄▽ ̄*)b 引语 php不仅仅局限于html的输出,还可以创建和操作各种各样的图像文件,如GIF、PNG、JPEG、WBMP、XBM等。 php还可以将图像流直接显示在浏览器中。 要处理图像,
(∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合。最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr
(^o^)/~ 现在网上越来越离不开验证码了,不知道小伙伴们知不知利用php的GD库就可以生成验证码,Σ(⊙▽⊙&quot;a ...... 首先介绍几个需要用的函数。 1.imagesetpixe
方法1: 用file_get_contents 以get方式获取内容 方法2: 用fopen打开url, 以get方式获取内容 1 stream_get_meta_data($fp); 方法3:用fi
支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。 对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽
YII2进行MYSQL数据库操作时出现Database Exception – yiidbException SQLSTATE[HY000] [2002] No such file or dire