2011-12-03 6 views
2

イメージとmp3を同じ形式でアップロードしようとしていますが、イメージはアップロードされており、mp3はアップロードされていません。 これは私のフォームイメージとmp3を同じ形式でアップロードしますが、mp3はアップロードされませんでした

<form action="upload.php" 
enctype="multipart/form-data" method="post"> 
<p> 
Please select image<br> 
<input type="file" name="image" size="40"> 
</p> 
<p> 
Please select audio<br> 
<input type="file" name="audio" size="40"> 
</p> 

であり、これは、今、画像取得のアップロードされた私のupload.php

// checking image 
if (($_FILES["image"]["type"] == "image/gif") 
or ($_FILES["image"]["type"] == "image/jpeg") 
or ($_FILES["image"]["type"] == "image/pjpeg") 
or ($_FILES["image"]["type"] == "image/png")) 
{ 
    if ($_FILES["image"]["error"] == 0) 
    { 
     move_uploaded_file($_FILES["image"]["tmp_name"], 
     "upload/".$_FILES["image"]["name"]); 

    } 
    else 
    { 
     echo "image upload failed"; 
    } 
} 
else 
{ 
    echo "file is not supported image"; 

} 

// checking mp3 
if (substr($_FILES["audio"]["name"],-3) == "mp3") 
{ 
    if ($_FILES["audio"]["error"] == 0) 
    { 
     move_uploaded_file($_FILES["audio"]["tmp_name"], 
     "upload/".$_FILES["audio"]["name"]); 
    } 
    else 
    { 
     echo "audio upload failed"; 
    } 
} 
else 
{ 
    echo "file is not supported audio"; 

} 

あると./uploadに移動したがmp3に、それは「オーディオアップロードが失敗した」エコー。 Do not get

+0

基本的なvar_dumpを実行して、返されるエラーコードが何であるかを確認してください。 – ajreal

答えて

2

あなたのコードが正しい場合は、 upload_max_filesizeをphp.iniで確認してください。 デフォルトのアップロードサイズの制限は2MBです。

+0

はい、それでした。私はそれを変更したと思ったが、それはサーバーphp.iniで、コンピュータではなく、tnx – cikatomo

+1

php.iniを編集できない場合は、この行ini_set( "upload_max_filesize"、 "16M"); –

6

エコー$_FILES["audio"]["error"]を試して、エラーの数を確認してください。ゼロは、エラーがないことを意味します。あなたのケースでは何らかのエラーが発生します。

if ($_FILES["audio"]["error"] == UPLOAD_ERR_OK) 

しかし、それはただのベストプラクティスである:ここでは、エラー番号http://php.net/manual/en/features.file-upload.errors.php

の意味を取得することができますあなたが定数を使用する必要があり、ゼロ

if ($_FILES["audio"]["error"] == 0) 

に比較することで、悪い習慣です。コードの結果には影響しません。

関連する問題