- 上传图片
- 注意:一定要添加这一句(enctype="multipart/form-data"),告诉浏览器上传文件,服务器发送属性提交数据按“二进制流方式处理”。
- <!--html页面开始-->
- <form action="upl.php" method="post" enctype="multipart/form-data">
- 头像<input type="file" name="tupian" value="" />
- <input type="submit" value="上传" />
- </form>
- <!--HTML页面结束-->
- 预定义变量$_FILES数组有5个内容:
- $_FILES['userfile']['name']——客户端机器文件的原名称
- $_FILES['userfile']['type']——文件的 MIME 类型
- $_FILES['userfile']['size']——已上传文件的大小,单位为字节
- $_FILES['userfile']['tmp_name']——文件被上传后在服务端储存的临时文件名
- $_FILES['userfile']['error']——和该文件上传相关的错误代码
- 其中$_FILES['userfile']['error']的可以有下列取值和意义:
- 0——没有错误发生,文件上传成功。
- 1——上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
- 2——上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
- 3——文件只有部分被上传。
- 4——没有文件被上传。
- 6——找不到临时文件夹。
- 7——没有写权限。
- <!--PHP页面 upl.php页面开始-->
- <?php
- date_default_timezone_set("Asia/Chongqing");
- //超级数组
- //echo "<pre>";
- //var_dump($_FILES);
- //echo"</pre>";
- //文件上传
- if(empty($_FILES)){ //判断文件是否为空
- echo "上传文件过大,请弄清楚哦";
- exit;
- }
- if($_FILES['tupian']['error']>0){ //判断文件是否出现错误
- echo "上传文件有误;请检测后再试";
- exit;
- }
- $allowtype=array('jpg','png','jpeg','gif'); //允许文件上传的后缀名
- $mulu="image/"; //创建目录名称
- $rs=explode(".",$_FILES['tupian']['name']); //切割图片名称
- $houzhui=strtolower($rs[1]); //取后缀名用小写的方式
- if(!in_array($houzhui,$allowtype)){ //如果上传的文件里面没有图片类型
- echo "上传文件非图片";
- exit;
- }
- //上传文件名叫什么
- $newname=date('YmdHis').rand().'.'.$houzhui; //时间再加一个随机数名字肯定不会重名了
- $linshi=$_FILES['tupian']['tmp_name']; //临时的图片名字
- $xinmulu=$mulu.$newname; //新目录
- $rs=move_uploaded_file($linshi,$xinmulu); //移动到新目录中去
- if($rs){
- echo "恭喜您,上传成功";
- }else{
- echo "上传失败";
- }
- <!--PHP页面 upl.php页面结束-->
来源: http://www.phpxs.com/code/1003200/