以相同的形式上传图像和mp3,但mp3没有上传

时间:2011-12-03 13:29:00

标签: php

我正在尝试以相同的形式上传图片和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上它回应“音频上传失败”。 不要明白

2 个答案:

答案 0 :(得分:6)

尝试echo $_FILES["audio"]["error"]值并查看错误数。零意味着没有错误。在您的情况下会发生一些错误。在这里,您可以获得错误编号http://php.net/manual/en/features.file-upload.errors.php

的含义

比较为零

是不好的做法
if ($_FILES["audio"]["error"] == 0)

你应该使用常量:

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

但这只是最好的做法。它不会影响代码的结果。

答案 1 :(得分:2)

您的代码正确的工作只需检查您的 你的php.ini上的upload_max_filesize 默认上传大小限制2mb chage it。