无法上传大尺寸的视频

时间:2020-04-25 22:29:06

标签: php

嗨,所以我现在有一个有效的代码,允许用户上传视频,但是,它仅适用于较小的视频大小

php代码是:

<?php

require_once('../../../includes/config.php');

    if(isset($_POST["submit"])) {


    //collect form data

    extract($_POST);


    $allowedExts = array("ogg", "mp4", "wma");
    $extension = pathinfo($_FILES['video']['name'], PATHINFO_EXTENSION);

    if ((($_FILES["video"]["type"] == "video/mp4")
        || ($_FILES["video"]["type"] == "video/ogg")
        || ($_FILES["video"]["type"] == "video/wma")

        && ($_FILES["video"]["size"] < 16000000 )
        && in_array($extension, $allowedExts))){ 


        if ($_FILES["video"]["error"] > 0)
        {
            echo "Return Code: " . $_FILES["video"]["error"] . "<br />";
        }


        else
        {
            echo "Upload: " . $_FILES["video"]["name"] . "<br />";
            echo "Type: " . $_FILES["video"]["type"] . "<br />";
            echo "Size: " . ($_FILES["video"]["size"] / 1024) . " Kb<br />";
            echo "Temp file: " . $_FILES["video"]["tmp_name"] . "<br />";
           $upload =  $_FILES["video"]["name"];

            if (file_exists("../videos/" . $_FILES["video"]["name"]))
            {
                echo $_FILES["video"]["name"] . " already exists. ";
            }
            else
            {
                move_uploaded_file($_FILES["video"]["tmp_name"],
                    "../videos/" . $_FILES["video"]["name"]);
                echo "Stored in: " . "../videos/" . $_FILES["video"]["name"];
            }
        }

    }else{
        echo "Invalid file";
    }

            try {



                //insert into database

                $stmt = $db->prepare('INSERT INTO videos (videoTitle,video,editedBy) VALUES (:videoTitle, :video, :editedBy)') ;

                $stmt->execute(array(

                    ':videoTitle' => $videoTitle,

                    ':video' => $upload,

                    ':editedBy' => "admin"



                ));



                //redirect to images page

                header('Location: videos.php?action=added');

                exit;



            } catch(PDOException $e) {

                echo $e->getMessage();

            }

}
?>

这适用于大约3000kb的文件,但是当我尝试上传200000 kb的视频时,它尝试了一段时间后才最终显示“无法访问页面”。

我有什么办法可以处理较大的文件吗?是否可以先压缩文件,以便于处理?

我使用的是000webhost的免费版本,这可能是由于文件大小限制所致吗?

谢谢

0 个答案:

没有答案
相关问题