php $__FILES 文件上载

来源:互联网 发布:淘宝美工首页一般多久 编辑:程序博客网 时间:2024/05/20 14:23

其实没有写博客的习惯。不过当有一天回顾过去的时候,会发现’原来这个我会啊!!‘,然后大脑就会自动产生一些亲切感。随便记录下,不一定会看的

PHP文件上传:

原本是打算Tp和Ajax上传文件的。但。。。不会,大多数教程都是借鉴jQuery UpLoad什么的插件。。

※ 这个html代码是通用文件:

<!-- Html Code: 'base.html' --><title>1. 基础文件</title><style type="text/css">*{padding: 0; margin: 0; list-style: none; text-decoration: none;}#area{max-width: 360px; mint-height: 120px; border: solid 1px dashed; margin: 0 auto; background-color: #fefed6 ;}#img{height: 120px; width: 120px; border: solid 1px #000;}#upfile{ border: solid 1px #000; margin: 12px 0px;}</style><!-----------分割线-----------------><div id="container">    <div id="area">    <!--显示待上传图像区域,当前属于观众,不参与互动,请忽略。-->    <div id="img"></div>    <!--文件操作区域-->    <div id="upfile">    <form action="upload_file.php" method="post" enctype="multipart/form-data" >        <input type="file" name="file" id="file" value="" />        <input type="submit" value="上传至"/>    </form>    </div> <!--end of #upfile -->    </div> <!--end of #area --></div> <!--end of #container -->

1. upload_file.php: 简单的处理脚本。

<?php    //文件上传失败的错误代码if($_FILES["file"]["error"] >0){    echo "Error: ".$_FILES["file"]["error"]."<br/>";}else{    //文件名    echo "Upload:".$_FILES["file"]["name"]."<br/>";    //文件类型    echo "Type:".$_FILES["file"]["type"]."<br/>";    //文件大小    echo "Size:".($_FILES["file"]["size"]/1024)." Kb<br/>";    //文件在服务器的临时存储位置。    echo "Stored in:".$_FILES["file"]["tmp_name"];}/*一些错误提示: 1. 如果提示索引未定义,查看一下,在html的form中,input-file的name的名字是不是和这里$_FILES['Name名']一样。 2. 或者,form的enctype="multipart/form-data"属性有没有添加。 * */?>

2. upload_file.php: 上传限制。

<!--上传限制: upload_file2.php--><?php//判断文件类型和文件大小;//这提示:我上传了png文件,因为不符合类型.所以没有被显示。//然后上传了jpg,也没有被通过。。。//注释:对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。if( (($_FILES['file']['type'] == 'image/gif') ||    ($_FILES['file']['type'] == 'image/jpeg') ||    ($_FILES['file']['type'] == 'image/pjpeg'))&&($_FILES['file']['size'] < 204800)){//[http://www.w3school.com.cn]的教程是限制为20000,也即是20k,这真让人有点为难。于是参考了菜鸟教程的200k,^_^        if($_FILES['file']['error'] >0){            //输出错误            echo 'Error'.$_FILES['file']['error'].'<br/>';        }else{            //输出文件信息            echo "Upload: " . $_FILES["file"]["name"] . "<br />";            echo "Type: " . $_FILES["file"]["type"] . "<br />";            echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";            echo "Stored in: " . $_FILES["file"]["tmp_name"];        }    }else{        //非筛选文件或,文上传异常。        echo 'Invalid file';    }?>

3. upload_file.php: 保存上传文件。
也就是文件会自动上传到tmp目录,然后你必须要把上传的文件move或copy到你需要存放的目录, 反正不另存。脚本一结束,啥球也没了。。。

<!--保存被上传的文件: upload_file3.php--><!--所学:你得注意警告,虽然警告不致于致命,但警告必须得注意,反正注意就是了。--><?phpif((($_FILES['file']['type'] == 'image/gif') ||    ($_FILES['file']['type'] == 'image/jpeg') ||    ($_FILES['file']['type'] == 'image/pjpeg'))    && ($_FILES['file']['size'] < 204800) ){    if($_FILES['file']['error'] > 0){        echo 'Return Code: '.$_FILE['file']['error'].'<br/>';    }else{        echo "Upload: ".$_FILES["file"]["name"]."<br />";        echo "Type: ".$_FILES["file"]["type"]."<br />";        echo "Size: ".($_FILES["file"]["size"]/1024)." Kb<br />";        echo "Temp file: ".$_FILES["file"]["tmp_name"]."<br />";        //手册上是没有这一句,但是很显然。如果你没有这一句。它可能会弹出一些警告。        //记录:当前目录,就是你php文件所在的目录,不是一定是root或www目录。        if(!file_exists('upload')){            mkdir('upload');        }        //判断当前目录下的 upload 目录是否存在该文件        //如果没有uplaod目录,你需要创建它,目录权限为777        if(file_exists("upload/".$_FILES['file']['name'])){            echO $_FILES['file']['name']." already exists.";        }else{            //如果 upload 目录不存在该文件则将文件上传到 upload 目录下            move_uploaded_file($_FILES['file']['tmp_name'] , "upload/".$_FILES['file']['name']);            echo "Stored in: "."upload/".$_FILES['file']['name'];        }    }}else{  echo 'Invalid file'; }?>

从零开始,意思就是重新大大基础。基础不过关。。。

Oct 16 , 2017 (21:26 Pm)

原创粉丝点击