我有一个 HTML 文件上传表单,它使用 PHP 在我的服务器上上传文件。它上传图像文件,但不上传其他类型的文件,如 mp3 或 mp4。我不知道有什么问题。
这是代码:
HTML:
<form id="uploadForm" method="post" action="upload.php?ref=home" enctype="multipart/form-data">
<input id="shout_media" class="hidden" name="media" type="file" />
</form>
PHP:
<?php
if(isset($_GET['ref'])) {
if((isset($_FILES['media']))&&(is_uploaded_file($_FILES['media']['tmp_name']))) {
$name = $_FILES['media']['name'];
$tmpname = $_FILES['media']['tmp_name'];
$size = $_FILES['media']['size'];
$i = strrpos($name,".");
if (!$i) { return ""; }
$l = strlen($name) - $i;
$xt = substr($name,$i+1,$l);
$ext = strtolower($xt);
if(preg_match("/(jpg|jpeg|png|gif|mp3|mp4)/",$ext)) {
if(move_uploaded_file($tmpname,'photos/'.$name.'')) {
echo 'Uploaded successfully!';
}
}
}
我正在使用 jQuery 和http://www.malsup.com/jquery/form/ Ajax 表单插件来上传文件而无需重新加载页面。
AJAX 表单插件代码:
$("#uploadForm").ajaxForm({
success: function(responseText) {
if(responseText.length>0) {
$(".uploadStatus").text('Uploaded!');
}
}
}).submit();
有什么问题,我该如何解决?我需要允许我的用户上传其他类型的文件,最重要的是 MP3 和 MP4。
谢谢!