php文件上傳(視頻圖片或者其他)


html頁面

<html>

<head>

    <meta charset="utf-8">

    <title></title>

</head>

<body>

<form action='index.php' method=post enctype="multipart/form-data">
    
    <!-- 上傳文件限制,會在傳遞至index.php之前先執行驗證文件大小,value為上傳文件的最大值 ,單位為b,600000為600kb-->
    <input type="hidden" name="MAX_FILE_SIZE" value="600000">
    
    <input type="file" name="upfile">

    <input type="submit" value='上傳文件'>

</form>

</body>

</html>

 

php

<?php
header("Content-type:text/html;charset=UTF-8");
/**

 * PHP上傳視頻

 */

$upfile = $_FILES['upfile'];

 

function upload_file($files, $path = "./upload",$imagesExt=['jpg','png','jpeg','gif','mp4'])
{
    
    // 判斷錯誤號
    if ($files['error'] == 00) {

        
        $ext = strtolower(pathinfo($files['name'],PATHINFO_EXTENSION));
        // 判斷文件類型
        if (!in_array($ext,$imagesExt)){

            return "非法文件類型";

        }

        // 判斷是否存在上傳到的目錄

        if (!is_dir($path)){

            mkdir($path,0777,true);

        }

        // 生成唯一的文件名

        $fileName = md5(uniqid(microtime(true),true)).'.'.$ext;

        // 將文件名拼接到指定的目錄下

        $destName = $path."/".$fileName;

        // 進行文件移動

        if (!move_uploaded_file($files['tmp_name'],$destName)){

            return "文件上傳失敗!";

        }

        return "文件上傳成功!";

    } else {

        // 根據錯誤號返回提示信息

        switch ($files['error']) {

            case 1:

                echo "上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值";

                break;

            case 2:

                echo "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值";

                break;

            case 3:

                echo "文件只有部分被上傳";

                break;

            case 4:

                echo "沒有文件被上傳";

                break;

            case 6:
          echo "找不到臨時文件夾";
          break; case 7: echo "系統錯誤"; break; } } } var_dump(upload_file($upfile)); ?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM