我正在尝试以相同的形式上传图像和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>
Run Code Online (Sandbox Code Playgroud)
这是我的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";
}
Run Code Online (Sandbox Code Playgroud)
现在,图像获取上传并移动到./upload但是在mp3上它回应"音频上传失败".不明白
尝试使用echo $_FILES["audio"]["error"]值并查看错误数.零意味着没有错误.在您的情况下会发生一些错误.在这里你可以得到错误号http://php.net/manual/en/features.file-upload.errors.php的含义
比较为零是不好的做法
if ($_FILES["audio"]["error"] == 0)
Run Code Online (Sandbox Code Playgroud)
你应该使用常量:
if ($_FILES["audio"]["error"] == UPLOAD_ERR_OK)
Run Code Online (Sandbox Code Playgroud)
但这只是最好的做法.它不会影响代码的结果.