首頁  >  文章  >  後端開發  >  php基礎四之文件上傳

php基礎四之文件上傳

不言
不言原創
2018-04-26 14:22:141119瀏覽

這篇文章介紹的內容是關於php的基礎,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

<!-- 文件上传 -->
<form action="" enctype="multipart/form-data" method="post">
    <input type="file" name="文件"/><br />
    <input type="submit" value="上传"/>
</form>
<?php
//文件上传之需要注意php.ini文件
//     php.ini文件中的配置
//     file_uploads
//     post_max_size
//     upload_max_filesize
//     memory_limit
// print_r($_FILES["upfile"]);
if (is_uploaded_file($_FILES[&#39;upfile&#39;][&#39;tmp_name&#39;])) {
    $upfile=$_FILES["upfile"];
    $name=$upfile["name"];
    $type=$upfile["type"];
    $size=$upfile["size"];
    $tmp_name=$upfile["tmp_name"];
    
    switch ($type) {
        case &#39;image/pjpeg&#39;:
            $okType=true;
            break;
        case &#39;image/jpeg&#39;:
            $okType=true;
            break;
        case &#39;image/gif&#39;:
            $okType=true;
            break;
        case &#39;image/png&#39;:
            $okType=true;
            break;
    }
    if ($okType) {
        $error=$upfile["error"];
        echo "==================<br/>";
        echo "上传的文件名称是:".$name."<br/>";
        echo "上传的文件类型是:".$type."<br/>";
        echo "上传的文件大小是:".$size."<br/>";
        echo "上传之后系统返回的值是:".$error."<br/>";
        echo "上传的文件临时存放的文件路径是:".$tmp_name."<br/>";
        
        echo "开始移动上传文件<br/>";
        move_uploaded_file($tmp_name, &#39;up/&#39;.$name);
        $destination="up/".$name;
        echo "================<br/>";
        echo "上传信息:<br/>";
        if ($error==0) {
            echo "文件上传成功!";
            echo "<br>图片预览<br>";
            echo "<img src=".$destination.">";
        }elseif ($error==1){
            echo "超过了文件大小,在php.ini文件中设置";
        }elseif ($error==2){
            echo "超过文件的大小MAX_FILE_SIZE选项指定的值";
        }elseif ($error==3){
            echo "文件只有部分被上传";
        }elseif ($error==4){
            echo "上传文件大小为0";
        }
    }else {
        echo "请上传jpg,gif,png等格式的图片";
    }
}
?>

<!-- 文件上传的步骤 -->
<?php
//     一、判断是否有错误码
//     二、自定义判断是否超出文件大小范围
//     三、判断后缀名和mime类型是否符合
//     四、生成文件名
//     五、判断是否是上传文件
//     六、移动临时文件到指定位置
?>

<!-- 文件上传表单注意事项 -->
<html>
    <head>
        <meta charset="utf-8"/>
        <title>单文件上传</title>
    </head>
    <body>
        <form action="file.php" method="post"
        enctype="multipart/form-data">
        <input type="file" name="filename"/>
        <input type="submit" value="上传"/>
        </form>
    </body>
</html>

<!-- 按照数组和步骤完成文件上传 -->
<!-- 第一步,判断错误码 -->
<!-- 第二步,判断文件是否超出大小 -->
<!-- 第三步,判断文件的mime类型是否正确 -->
<!-- 第四步,生成指定的路径和文件名 -->
<!-- 第五步,判断是否是上传文件 -->
<!-- 第六步,移动文件到指定位置 -->
<form action=&#39;&#39; method=&#39;post&#39; enctype=&#39;multipart/form-data&#39;>
    <input type=&#39;file&#39; name=&#39;myfile&#39; />
    <input type="submit" />
</form>

<?php
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    var_dump($_FILES[&#39;myfile&#39;]);
    echo &#39;
'; if ($_FILES['myfile']['error'] > 0) { switch ($_FILES['myfile']['error']) { case '1': echo '文件过大'; break; case '2': echo '文件超出指定大小'; break; case '3': echo '只有部分文件被上传'; break; case '4': echo '文件没有被上传'; break; case '6': echo '找不到指定文件'; break; case '7': echo '文件写入失败'; break; default: echo '上传出错
'; } }else{ $MAX_FILE_SIZE = 100000; if ($_FILES['myfile']['size'] > $MAX_FILE_SIZE) { exit("文件超出指定大小"); } $allowSuffix = array('jpg','gif'); $myImg = explode('.', $_FILES['myfile']['name']); $myImgSuffix = array_pop($myImg); if (!in_array($myImgSuffix, $allowSuffix)) { exit("文件后缀名不符"); } $allowMime = array( "image/jpg", "image/jpeg", "image/pjpeg", "image/gif" ); if (!in_array($_FILES['myfile']['type'], $allowMime)) { exit('文件格式不正确,请检查'); } $path = "upload/images/"; $name = data('Y').date('m').date("d") .date('H').date('i').date('s'). rand(0,9).'.'.$myImgSuffix; if (is_uploaded_file($_FILES['file']['tmp_name'])) { if (move_uploaded_file($_FILES['myfile']['tmp_name'], $path.$name)) { echo "上传成功"; }else { echo '上传失败'; } } } ?> 单文件上传

相關推薦:

php基礎三

php基礎二

#php基礎一


以上是php基礎四之文件上傳的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn