Home  >  Article  >  Backend Development  >  PHP basics four - file upload

PHP basics four - file upload

不言
不言Original
2018-04-26 14:22:141149browse

The content introduced in this article is about the basics of PHP, which has certain reference value. Now I share it with everyone. Friends in need can refer to it

<!-- 文件上传 -->
<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 '上传失败'; } } } ?> 单文件上传

Related recommendations:

php basic three

php basic two

php basic one


The above is the detailed content of PHP basics four - file upload. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn