2013-11-29 3 views
0

이 스크립트는 이미지 업로드에는 적합하지만 비디오 및 오디오에는 사용할 수 없습니다. 나는 php.ini 설정으로 비디오를 허용하지 않는 것으로 믿는다. 업로드 할 수있는 파일의 메모리를 늘리려고했지만 여전히 작동하지 않습니다. 제발 내가 뭘하는지. 내가 실패한 다른 스크립트를 시도했기 때문에.PHP 서버에 비디오 또는 오디오를 업로드하는 스크립트가 있지만 작동하지 않습니다.

$preacher = $_POST['preacher']; 
    $title = $_POST['title']; 
    $filecontent = $_FILES['file']; 


    $allowedExts = array("jpg", "jpeg", "gif", "png", "mp3", "mp4", "wma"); 
    $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); 

    if ((($_FILES["file"]["type"] == "video/mp4") 
    || ($_FILES["file"]["type"] == "audio/mp3") 
    || ($_FILES["file"]["type"] == "audio/wma") 
    || ($_FILES["file"]["type"] == "image/pjpeg") 
    || ($_FILES["file"]["type"] == "image/gif") 
    || ($_FILES["file"]["type"] == "image/jpeg")) 

    && ($_FILES["file"]["size"] < 20000) 
    && in_array($extension, $allowedExts)) 

    { 
    if ($_FILES["file"]["error"] > 0) 
     { 
     echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; 
     } 
    else 
     { 
     echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
     echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
     echo "Size: " . ($_FILES["file"]["size"]/1024) . " Kb<br />"; 
     echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; 

     if (file_exists("upload/" . $_FILES["file"]["name"])) 
     { 
     echo $_FILES["file"]["name"] . " already exists. "; 
     } 
     else 
     { 
     move_uploaded_file($_FILES["file"]["tmp_name"], 
     "upload/" . $_FILES["file"]["name"]); 
     echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
     } 
     } 
    } 
    else 
    { 
     echo "Invalid file"; 
    }  
+2

정확히 어떻게 작동하지 않는지 * 알려주십시오. 어떤 오류가 있습니까? –

+0

'upload_max_filesize'와'post_max_size'의 값이 오디오와 비디오를 업로드하기에 충분히 큰지 확인하십시오. – Tchoupi

+0

'print_r ($ _ FILES);에 오류 메시지가 나타납니다. –

답변

1

아래에있는 내 PHP 코드 사진 잘하지만 비디오가없는 경우는, 그것이 당신의 php.ini 파일이 너무 작은 존재에 upload_max_filesize 또는 post_max_size 중 하나를 있다고 거의 확신합니다. 대부분의 경우 변경 사항을 적용하려면 웹 서버 (Apache, 종종)를 다시 시작해야합니다.

2

파일 크기를 20KB로 제한 하시겠습니까? 파일을 업로드하지 못하게하는 것 같습니다. && ($_FILES["file"]["size"] < 20000). 파일 크기를 20kb로 제한하고 싶지 않으면 제거하거나 제한을 늘려 시도하십시오. 감사.

관련 문제