博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP——图片上传
阅读量:6502 次
发布时间:2019-06-24

本文共 3280 字,大约阅读时间需要 10 分钟。

图片上传

 

Index.php文件代码:

    
Document

upload.php代码:

图片上传步骤:

1:接收参数

         2:判断错误

         3:判断格式是否合法

         4:判断文件大小

         5:判断是是不是真正的图片

 

         6:判断是否是http post提交

$allowSize){ exit('图片过大'); } //判断是不是图片 $imgSize=getimagesize($tmp_name); if(!$imgSize){ exit('这不是一个图片'); } //判断是不是通过http post上传 if(is_uploaded_file($tmp_name)){ if(!file_exists($path)){ mkdir($path,0777,true); chmod($path,0777); } $newName = getUniqidName().".".$Ext; $dstpath = $path.'/'.$newName; if(move_uploaded_file($tmp_name,$dstpath)){ echo $newName; }else{ exit('图片上传失败'); } }else{ exit('不是HTTP POST方式提交'); } }else{ switch ($error) { case '1': exit('文件大小超过限定值'); break; case '2': exit('文件大小超过了表单配置大小'); break; case '3': exit('文件只有部分被上传'); break; case '4': exit('没有文件被上传'); break; case '6': exit('没有找到缓存目录'); break; case '7': exit('目录不可写'); break; case '8': exit('PHP扩展程序阻止了文件上传'); break; } } //取文件后缀函数 function format($name){ $ext=explode('.',$name); $val=end($ext); return $val; } function getUniqidName(){ return md5(uniqid(microtime(true),true)); } ?>

 

文件上传

Index.php文件代码:

<!DOCTYPE html>

<html lang="en">

<head>

         <meta charset="UTF-8">

         <title>Document</title>

</head>

<body>

         <form action="upload2.php" method="post" enctype="multipart/form-data">

         <input type="file" name='file'>

         <input type="submit" value="上传">

         </form>

</body>

</html>

 

upload.php代码:

图片上传步骤:

1:接收参数

         2:判断错误

         3:判断格式是否合法

         4:判断文件大小

         5:判断是是不是真正的图片

         6:判断是否是http post提交

代码:

<?php

         include('../function.php');

 

         //接受参数

         $file=$_FILES['file'];

         $name=$file['name'];

         $type=$file['type'];

         $tmp_name=$file['tmp_name'];

         $error=$file['error'];

         $size=$file['size'];

         $path='../images/';

        

         //判断错误

         if($error==UPLOAD_ERR_OK){

                   // exit('上传成功');

                   //判断格式是否合法

                   $format=array('jpeg','jpg','png','gif');

                   $ext=format($name);

                   if(!in_array($ext,$format)){

                            exit('图片格式不正确');

                   }

                   //判断文件大小

                   $allowSize=1048576;                          //1M

                   if($size>$allowSize){

                            exit('图片过大');

                   }

                   //判断是不是图片

                   $imgSize=getimagesize($tmp_name);

                   if(!$imgSize){

                            exit('这不是一个图片');

                   }

                   //判断是不是通过http post上传

                     if(is_uploaded_file($tmp_name)){

       if(!file_exists($path)){

          mkdir($path,0777,true);

          chmod($path,0777);

       }

       $newName = getUniqidName().".".$Ext;

       $dstpath = $path.'/'.$newName;

        if(move_uploaded_file($tmp_name,$dstpath)){

          echo $newName;

        }else{

            exit('图片上传失败');

        }

   }else{

      exit('不是HTTP POST方式提交');

   }

         }else{

                   switch ($error) {

                            case '1':

                                     exit('文件大小超过限定值');

                                     break;

                           

                            case '2':

                                     exit('文件大小超过了表单配置大小');

                                     break;

                            case '3':

                                     exit('文件只有部分被上传');

                                     break;

                            case '4':

                                     exit('没有文件被上传');

                                     break;

                            case '6':

                                     exit('没有找到缓存目录');

                                     break;

                            case '7':

                                     exit('目录不可写');

                                     break;

                            case '8':

                                     exit('PHP扩展程序阻止了文件上传');

                                     break;

                   }

         }

 

         //取文件后缀函数

         function format($name){

                   $ext=explode('.',$name);

                   $val=end($ext);

                   return $val;

         }

         function getUniqidName(){

               return md5(uniqid(microtime(true),true));

         }

 

 ?>

转载于:https://www.cnblogs.com/piziyu/p/5428828.html

你可能感兴趣的文章
追求绿色数据中心
查看>>
Web开发初学指南
查看>>
OpenStack Days China:华云数据CTO郑军分享OpenStack创新实践
查看>>
探寻光存储没落的真正原因
查看>>
高通64位ARMv8系列服务器芯片商标命名:Centriq
查看>>
中国人工智能学会通讯——融合经济学原理的个性化推荐 1.1 互联网经济系统的基本问题...
查看>>
盘点大数据商业智能的十大戒律
查看>>
戴尔为保护数据安全 推出新款服务器PowerEdge T30
查看>>
今年以来硅晶圆涨幅约达40%
查看>>
构建智能的新一代网络——专访Mellanox市场部副总裁 Gilad Shainer
查看>>
《数字视频和高清:算法和接口》一导读
查看>>
《中国人工智能学会通讯》——6.6 实体消歧技术研究
查看>>
如何在Windows查看端口占用情况及查杀进程
查看>>
一分钟秒懂公有云、私有云、混合云......
查看>>
云存储应用Upthere获7700万美元股权债务融资
查看>>
国家互联网应急中心何世平博士主题演讲
查看>>
洗茶,你误会了多少年?
查看>>
移动大数据“后市场”受青睐 亟需数据深度学习人才
查看>>
大数据时代的财务人员须与时俱进
查看>>
开放网络的承诺:它真的做到了吗?
查看>>