2017-06-06 1 views
0

「media_type」テキストボックスに「0」を入力すると画像アップロードコードが実行され、「1」を入力すると動画アップロードコードが実行されます。問題はビデオセクションにあります。ビデオをアップロードすると、何も表示されないからです。しかし、私は画像を入力し、画像セクションに行くと、それは動作します。ここに私のコードは、ビデオの場合にはPHPで動作しないビデオのアップロード/保存

PHP

<?php 

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

    $media_type = addslashes($_POST['media_type']); 

    if($media_type !=0 && $media_type !=1){ 

     die (json_encode([ 
     "Status" => " Failed", 
     "Message" => " Error 404" 
    ])); 
     exit; 
    } 

    if(@getimagesize($_FILES["file"]["tmp_name"])==false){ 

     echo json_encode([ 

      "Status" => " Failed", 
      "Message" => " No file selected..." 
     ]); 
     exit; 
    } 

    if(@getimagesize($_FILES['file']['tmp_name']) ==FALSE || $_POST['user_id'] == "" || $_POST['media_type'] =="" || $_POST['category1'] ==""){ 

     echo json_encode([ 
      "Status" => "Failed", 
      "Message" => "There were values missing" 

     ]); 

    die(""); 
    } 


function imageUpload(){ 
    $userid = addslashes($_POST['user_id']); 
    $category1 = addslashes($_POST['category1']); 
    $category2 = addslashes($_POST['category2']); 
    $category3 = addslashes($_POST['category3']); 


//if file is there 

    $target = "images/"; 

    $target_file = addslashes($target . basename($_FILES["file"]["name"])); 

    if(file_exists($target_file)){ 

     echo json_encode([ 
      "Status" => " Failed", 
      "Message" => " Sorry, file already exists..." 
     ]); 
     exit; 
    } 
if(move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) 
{ 

    $db = mysqli_connect("localhost", "root", ""); 
    mysqli_select_db($db, "magicsever"); 

    if(mysqli_connect_error()){ 

     die ("Database connection error"); 
    } 

$image = addslashes($_FILES['file']['tmp_name']); 
$name = addslashes($_FILES['file']['name']);  

$sql = "INSERT INTO classified_images (`user_id`,`image`, `img_path`, `img_category_1`,`img_category_2`, `img_category_3`)VALUES('$userid','$image','$name','$category1','$category2','$category3')"; 
$final = mysqli_query($db, $sql); 

echo json_encode([ 
"Message" => "The file ". basename($_FILES["file"]["name"]). " has been uploaded.", 
"Status" => "OK", 
"userId" => $_POST["user_id"] 
]); 
}else{ 

echo json_encode([ 
"Message" => "Sorry, there was an error uploading your file.", 
"Status" => "Error", 
"userId" => $_POST["user_id"] 
]); 

} 
} 

function videoUpload(){ 
    $userid = addslashes($_POST['user_id']); 
    $category1 = addslashes($_POST['category1']); 
    $category2 = addslashes($_POST['category2']); 
    $category3 = addslashes($_POST['category3']); 
    // Check if file was submited 

    $target = "videos/"; 

    $target_file = addslashes($target . basename($_FILES["file"]["name"])); 



    // Check if file already exists 
    if(file_exists($target_file)){ 

     echo json_encode([ 
      "Status" => " Failed", 
      "Message" => " Sorry, file already exists..." 
     ]); 
     exit; 
    } 

    // Check file size not > 500Mb 
    if($_FILES["file"]["size"] > 500000000){ 

     echo json_encode([ 

      "Status" => " Failed", 
      "Message" => " Sorry, file is too large." 
     ]); 
     exit; 
    } 

     if(move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)){ 

      $db = mysqli_connect("localhost", "root", ""); 
    mysqli_select_db($db, "magicsever"); 

    if(mysqli_connect_error()){ 

     die ("Database connection error"); 
    } 

    $video = addslashes($_FILES['file']['tmp_name']); 
     $name = addslashes($_FILES['file']['name']); 

    $sql = "INSERT INTO classified_videos (`user_id`, `vid_path`, `vid_category_1`, `vid_category_2`, `vid_category_3`, `video`)VALUES('$userid','$name','$category1','$category2','$category3','$video')"; 
    $final = mysqli_query($db, $sql); 

      echo json_encode([ 

       "Status" => " Success", 
       "Message" => " The file ". basename($_FILES["file"]["name"]). " has been uploaded.", 
       "userId" => $_POST["user_id"] 
      ]); 
     }else{ 

      echo json_encode([ 

       "Status" => " Failed", 
       "Message" => " Sorry, there was an error uploaded your file" 
      ]); 
      exit; 
     } 

    //Connect to database 


} 
    if($media_type ==0){ 

     imageUpload(); 
    }else if($media_type ==1){ 

     videoUpload(); 
    } 
} 
?> 

HTML

<form method="post" enctype="multipart/form-data"> 

<input type="file" name="file"> 

<br></br> 
<input type="text" name="user_id" placeholder="User id..."> 
<br></br> 
<input type="text" name="media_type" placeholder="(0)Image...(1)Video"> 
<br></br> 
<input type="text" name="category1" placeholder="MediaTag#1..."> 
<br></br> 
<input type="text" name="category2" placeholder="MediaTag#2..."> 
<br></br> 
<input type="text" name="category3" placeholder="MediaTag#3..."> 
    <br></br> 
<input type="submit" name="submit" value="upload"> 


</form> 

答えて

1

あなたは2メガバイトのデータよりも多くをアップロードした場合、画像のサイズは2メガバイトのアップロードサイズを越えるサイズを大きくする「ファイルのアップロードサイズ」php.iniファイルからは

+0

ありがとうございます、私はそれをもっと研究し、このリンクを見つけました。https://stackoverflow.com/questions/14734184/why-wont-my-server-accept-files-larger-then-2mb助けた – Jagr

1

で、画像サイズのコントロールは常にfalse(または無意味な値)を与えている:

if(@getimagesize($_FILES["file"]["tmp_name"])==false){ 

「ファイルが選択されていません」というメッセージが表示されます。 ビデオや画像を取得しているかどうかを確認し、そのコントロールを適切なケースで実行します。

あなたはドキュメントgetimagesize()で読むことができたよう:

注意 この関数は、ファイル名が有効なイメージファイルであることを期待しています。非イメージファイルが提供されている場合、イメージとして誤って検出され、関数は正常に戻りますが、配列には無意味な値が含まれることがあります。

+0

OHH問題は「getimagesize」だったので?私はそれを削除し、私はまだ問題があります。 – Jagr

+0

getimagesize()に問題があることを確認してください。私はまた、スクリプトをテストし、ファイルをアップロードするmp4は常にfalseを与える。あなたがすでに修正したサイズのアップロードに関する問題もあったと思います。次回は、コミュニティがあなたの問題を理解するのを助けるために得られるエラーを提供してください。 –

+0

申し訳ありませんが、ありがとうございます – Jagr

関連する問題