Php mp3和pdf文件上传与jpg不一样
这是我的upload.php代码:Php mp3和pdf文件上传与jpg不一样,php,file-upload,Php,File Upload,这是我的upload.php代码: <?php if(isset($_FILES['file'])) { $file = $_FILES['file']; //File properties $file_name = $file['name']; $file_tmp = $file['tmp_name']; $file_size = $file['size']; $file_error = $file['error']; //Wo
<?php
if(isset($_FILES['file'])) {
$file = $_FILES['file'];
//File properties
$file_name = $file['name'];
$file_tmp = $file['tmp_name'];
$file_size = $file['size'];
$file_error = $file['error'];
//Work out the file extension
$file_ext = explode('.', $file_name);
$file_ext = strtolower(end($file_ext));
$allowed = array('txt', 'jpg', 'mp3', 'pdf');
if(in_array($file_ext, $allowed)){
if($file_error == 0){
if($file_size <= 10000000){
$file_name_new = uniqid('', true) . '.' . $file_ext;
$file_destination = 'uploads/' . $file_name_new;
if(move_uploaded_file($file_tmp, $file_destination)){
echo $file_destination;
}
}
}
}
}
?>
我不明白的是,为什么它不允许我上传mp3和pdf文件,它似乎与jpg文件完美配合,但当我尝试上传声音或acrobat文件时,它似乎不起作用,我做错了什么?此外,我检查了php配置文件,并将最大文件大小设置为10mb,因此文件大小不应成为问题。因此,当我上载jpg文件时,它会回显文件目的地(基本上只是uniqid),但mp3文件不会出现这种情况(我觉得这是我的问题的一个线索,但我仍然无法找出实际原因)注意,您不应该使用扩展名来确定文件类型(因为它们可能不正确/更改),通常应该依赖MIME检测。也就是说,如果您的文件大于10MB,则不会
if($file\u size同样,上传mp3时,$file\u error
的值是多少?老实说,我从一个关于如何上传文件的教程中复制了大部分代码,我看了几遍,从技术上理解了它是如何工作的,但我仍然是一个非常新手的php程序员,所以…简单明了,我需要帮助弄清楚如何上传文件。)und文件