【发布时间】:2016-02-24 06:14:59
【问题描述】:
我有 php 文件来上传不同类型的图像文件,如 .jpg、.gif 很快,但我的问题是我还需要上传文件,如 Microsoft Office 文件,如 .doc、.docx 和 .xlsx,我可以不知道如何使这个东西与那种扩展一起工作,视频和音乐也被限制上传。
我当前的代码如下:
功能
function GetExtension($imagetype){
if(empty($imagetype)) return false;
switch($imagetype){
case 'image/bmp': return '.bmp';
case 'image/gif': return '.gif';
case 'image/jpeg': return '.jpg';
case 'image/png': return '.png';
default: return false;
}
}
代码流程
if(isset($_POST['submit'])){
$tmp_file = $_FILES['file_upload']['tmp_name'];
$target_file = basename($_FILES['file_upload']['name']);
$imgtype = $_FILES['file_upload']['type'];
$ext = GetImageExtension($imgtype);
$imagename = date("d-m-Y")."-".time().$ext;
$upload_dir = "../images/file/".$imagename;
if(move_uploaded_file($tmp_file, $upload_dir)){
//// some code here...........
} else {
$error = $_FILES['file_upload']['error'];
}
}
【问题讨论】:
-
为什么要获取扩展名,上传文件时他们会提供各种扩展名。
-
我只是按照 lynda.com 中给出的代码进行操作,您有什么好的建议,以便我可以上传 Microsoft Office 文件
-
是的,我在下面看到了我的答案。
-
是的,但我认为您的解决方案接受用户上传的所有文件,视频和音乐仅限上传。
-
我已经更新了我的答案检查一下。