上传文件时的MIME类型

时间:2015-07-06 09:03:09

标签: php zip mime-types uploading rar

我在上传.rar.zip时因文件扩展名而收到错误消息。这是我的代码的一部分:

$tipo = $_FILES['archivo']['type'];
$ext_permitidas = array('doc','docx','xls','xlsx','zip','rar','ppt','pptx','pdf');
$partes_nombre = explode('.', $nombre);
$extension = end( $partes_nombre );
$ext_correcta = in_array($extension, $ext_permitidas);
$tipo_correcto = preg_match('/^(application\/(msword|x-rar-compressed|zip|pdf)|application\/vnd\.(ms-excel|ms-powerpoint|openxmlformats-officedocument\.(wordprocessingml\.document|spreadsheetml\.sheet|presentationml\.presentation)))$/', $tipo);
if( $ext_correcta && $tipo_correcto){
#do stuff
}else{
echo 'Invalid file <br><a href="../../../login.php">Return</a> ';
echo $tipo;
}

当我上传.zip/.rar文件时,出现错误,$tipoapplication/octet-stream。 我发现.zip的一个解决方案是将octet-stream代替.zip.rar,但莫名其妙地只适用于.zip ...无论如何,我不要放octet-stream因为它还包含.exe个文件。

我怎么能让它运作?

编辑:我的问题与那个问题不同:.rar, .zip files MIME Type我希望上传更多仅.rar.zip的文件扩展名,以及我尝试过的问题哑剧类型:

.rar    application/x-rar-compressed, application/octet-stream
.zip    application/zip, application/octet-stream

但我在这两个方面都遇到了错误。我也试过了:

application/octet-stream

但它仅适用于.zip个文件

0 个答案:

没有答案