5

ビデオのサイズとタイプの検証を使用してアップロード ファイルを作成しました。webm、mp4、および ogv ファイル タイプのみが許可され、ファイル サイズは最大 2 GB です。私のphpコード:

if (isset($_POST['submit']))
{
    $file_name = $_FILES['file']['name'];
    $file_type = $_FILES['file']['type'];
    $file_size = $_FILES['file']['size'];

    $allowed_extensions = array("webm", "mp4", "ogv");
    $file_name_temp = explode(".", $file_name);
    $extension = end($file_name_temp);
    
    $file_size_max = 2147483648;
    if (!empty($file_name))
    {
        if (($file_type == "video/webm") || ($file_type == "video/mp4") || ($file_type == "video/ogv") &&
            ($file_size < $file_size_max) && in_array($extension, $allowed_extensions))
        {
            if ($_FILES['file']['error'] > 0)
            {
                echo "Unexpected error occured, please try again later.";
            } else {
                if (file_exists("secure/".$file_name))
                {
                    echo $file_name." already exists.";
                } else {
                    move_uploaded_file($_FILES["file"]["tmp_name"], "secure/".$file_name);
                    echo "Stored in: " . "secure/".$file_name;
                }
            }
        } else {
            echo "Invalid video format.";
        }
    } else {
        echo "Please select a video to upload.";
    }
}

私のhtmlコード:

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file"><br />
<input type="submit" name="submit" value="Submit">
</form>

「無効なビデオ形式です。」というメッセージが常に表示されます。小さなアップロード スクリプトをテストするために、flowplayer Web サイトから webm、mp4、および ogv ビデオ ファイルをダウンロードしました。

http://stream.flowplayer.org/bauhaus/624x260.webm
http://stream.flowplayer.org/bauhaus/624x260.mp4
http://stream.flowplayer.org/bauhaus/624x260.ogv
4

2 に答える 2