PHP文件上传基本验证

来源:互联网 发布:影视特效需要编程吗 编辑:程序博客网 时间:2024/06/05 09:10

Html部分

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>文件上传</title></head><body>    <form action="doupload.php" method="post" enctype="multipart/form-data">        <input type="file" name="myFile"/>        <input type="hidden" name="MAX_FILE_SIZE" value="1024">        <!-- <input type="hidden" name="MAX_FILE_SIZE" value="1024">通过建立隐藏域来控制文件上传的大小        在页面上进行判断,value是1024kb,这是客户端上设置的限制,最好是服务器做限制 -->        <input type="submit" value="上传"/>    </form></body></html>

PHP服务端部分

<?php header("Content-type: text/html; charset=utf-8");     //预定义变量    //print_r($_FILES);//可以显示错误号,根据错误号来定位错误信息    $filename=$_FILES['myFile']['name'];    $type=$_FILES['myFile']['type'];    $tmp_name=$_FILES['myFile']['tmp_name'];//存储地址    $error=$_FILES['myFile']['error'];//错误类型    $size=$_FILES['myFile']['size'];//文件大小    $filenamemd5=getUniName($filename);    // $types="jpg";//只能上传图片    $limitsize="185000";//控制图片大小    $a=getExt($filename);    //$getext=getExt($filename);        //得到文件的扩展名    function getExt($filename){        $first=explode(".",$filename); //文件名开始以.分割        $ext=strtolower(end($first));  //取出数组中的最后一个数组进行返回        return $ext;    }    //文件名以时间戳微秒md5加密的形式出现,确保文件的唯一    function getUniName(){        return md5(microtime(true));    }    //echo getUniName();  返回md5加密的数值     function gettypes($a){         $array=array(jpg,png,txt);        $b=in_array($a,$array);        return $b;     }         if($limitsize>=$size){             if(gettypes($a)){                if($error==0){                    if (is_uploaded_file($tmp_name)) {                            //将服务器上的临时文件移动到指定目录                            $filename=$filenamemd5.".".getExt($filename);                            $destination="uploads/".$filename;                            if(move_uploaded_file($tmp_name, $destination)){                                //检测这个临时文件是否为post方式                                //返回镇或者假                            echo $filename."---"."文件上传成功";                    }else{                        echo "你不是post上传的,非法操作";                    }                }else{                    echo "{$filename}文件移动失败";                }                }else{                    switch ($error) {                        case 1:                            echo "超过php配置文件upload_max_filesize的值";                            break;                        case 2:                            echo "超过表单max_file_size的值";                            break;                        case 3:                            echo "部分文件被上传";                            break;                        case 4:                            echo "没有文件被上传";                            break;                        case 6:                        case 7:                            echo "未知错误";                    }                }            }else{                echo "只能上传图片";            }        }else{            echo "超出上传文件大小限制";        } ?>
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 造化青莲 青莲妖祖 魅世青莲 青莲空间 顾青莲沈从嘉 青莲十二歌决 顾青莲沈从嘉免费 洪荒之混沌青莲 一池青莲待月开 此杯青莲大不同 洪荒造化青莲 清穿守则佛前青莲 香菇青菜 炒青菜 青菜图片 炒香菇青菜 青菜豆腐 炒青菜做法 豆腐青菜 青菜包子 香菇青菜汤 青菜肉圆汤 青菜简笔画 青菜香菇 水煮青菜 青菜肉圆 青菜蘑菇 蘑菇青菜 青菜炒香菇 香菇炒青菜 青菜蛋花汤 香菇青菜馅 青菜鸡蛋 豆腐青菜汤 青菜面 青菜怎么炒 香菇青菜粥 烧青菜 梦见青菜 青菜好处 青菜炒蘑菇