上传媒体文件,能够上传音乐和图像文件,但不能上传视频文件

时间:2014-12-11 05:22:16

标签: php ajax video file-upload

我想使用ajax + php ..

上传所有媒体文件

如果我上传图片和音乐文件,一切正常。 所以我尝试上传视频,它失败了。怎么了?

这是我的ajax

function uploadFile() {
    var file = document.getElementById("inputFile").files[0];
    var quest_ID = document.getElementById("questionnaireID").value;
    var quest_Number = document.getElementById("questNum").value;
    var formdata = new FormData();
    formdata.append("inputFile", file);
    formdata.append("questionnaireID", quest_ID);
    formdata.append("questionNumber", quest_Number);
    formdata.append("media", 1);
    if (xhr) {
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                if (xhr.status == 200) {
                    var outMsg = xhr.responseText;
                } else {
                    var outMsg = "There was a problem with the request. Error: " + xhr.status + " (" + xhr.statusText + ")"; //errror return  
                }
                alert(outMsg);
            }

        };
        xhr.open("POST", "addNew.php", false);
        xhr.send(formdata);
    }

    return false;
}

这是php。

function getExtention($str){
    return substr(strrchr($str,'.'),1);
}

if (isset($_POST["media"])){
        $tmp_file = $_FILES['inputFile']['tmp_name'];
        $target_file = $_POST["questionnaireID"] . "-" . $_POST["questionNumber"] . "." . getExtention(basename($_FILES['inputFile']['name']));
        $upload_dir = "Assets/Media";
        $path =  $upload_dir."/".$target_file;
        echo $path;
        if(move_uploaded_file($tmp_file, $path)) {
            $query = "insert into mediaDetails(available, mediaPath)";
            $query .= " values(1, '{$path}')";
            $result = execute($query);
            if($result){
                echo "Media added";
            }
        }else{
            echo "cannot move file";
        }

    }

当我上传图片和音乐而不是视频时,该代码可以正常工作。

为什么我无法上传视频文件? 当我上传视频文件时,它什么都不返回,(根本没有文字)......

偶数echo $path未显示....

任何替代方式??

任何回答都表示赞赏,谢谢。

0 个答案:

没有答案