上传和下载图片和视频到服务器

一.如何上传图片视频到服务器上

1.upLoad.html文件

//需要加入enctype="multipart/form-data"

<html>
    <body>
        <form action="upLoadFile.php" method="POST" enctype="multipart/form-data">
            <br>
            <center>
            <label>Filename:</label>
            <input type="file" name="file"></input>
            <br><br>
            <input type="submit"></input>
            </center>
        </form>
    </body>
</html>

2.upLoadFile.php文件

提前创建好存放图片视频的文件夹

<?PHP
    //获取文件
    $file = $_FILES["file"];
    
    //获取文件信息
    if($file["error"] > 0){

        //读取文件出错
        echo "Error:".$file["error"]."<br/>";
    }else{

        //输出详细信息
        echo "上传的文件名:".$file["name"]."<br/>";
        echo "上传的文件类型:".$file["type"]."<br/>";
        echo "上传的文件大小:".($file["size"]/1024)."Kb<br/>";
        echo "临时路径:".$file["tmp_name"]."<br/>";
        
        //判断文件类型
        $type = $file["type"];
        $path;
        if($type == "image/jpeg" || $type == "image/png"){
            //图片
            $path = "upLoad/img/";
        }else if($type == "video/mp4"){
            //视频
            $path = "upLoad/video/";
        }
    }
    
    $filePath = $path.$file["name"];
    //判断文件是否存在

    if(file_exists($filePath)){
        //存在
        echo $file["name"]."已存在";
    }else{
        //不存在
        //将临时文件里面的文件移动到指定目录
        move_uploaded_file($file["tmp_name"],$filePath);
        
        echo "文件已保存在:".$filePath;
    }
?>

3.运行:

a.浏览器输入:http://localhost/upLoad.html

b.提交之后url变成:http://localhost/upLoadFile.php

保存图片的结果


保存视频的结果


二.测试是否可以获取服务端数据

<html>
    <body>
        <img src = "http://127.0.0.1/upLoad/img/bz.jpeg" width="600" height="400">
            
        <video width="200" height="200" controls="controls">
          <source src="http://127.0.0.1/upLoad/video/bing.mp4" type="video/mp4" />
        </video>
    </body>
</html>

结果


三.错误类型

假设文件上传字段的名称file,则:

$_FILES['file']['error']有以下几种类型

1、UPLOAD_ERR_OK

其值为 0,没有错误发生,文件上传成功。

2、UPLOAD_ERR_INI_SIZE

其值为 1,上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值。

3、UPLOAD_ERR_FORM_SIZE

其值为 2,上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。

4、UPLOAD_ERR_PARTIAL

其值为 3,文件只有部分被上传。

5、UPLOAD_ERR_NO_FILE

其值为 4,没有文件被上传。

6、UPLOAD_ERR_NO_TMP_DIR

其值为 6,找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。

7、UPLOAD_ERR_CANT_WRITE

其值为 7,文件写入失败。PHP 5.1.0 引进。

推荐阅读更多精彩内容