← PHP

Upload de Ficheiros

Lida 1972 vezes

Offline

Tiago Martins 
Membro
Mensagens 932 Gostos 9
Feedback +4

Troféus totais: 29
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2

Boas pessoal,

Esta semana publiquei o script de uploads de imagens na pt-host.org, porém queria também criar um de upload de fiehceiros.
O probema é que não sei como por nas condições (if's)

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))

Isto é para comparar se é imagem naqueles formatos, porém quero saber como fazer isto para:

.zip
.rar
.exe
.doc
.txt
.docx

Entre outros

Caso alguem possa ajudar agradeço ;) é que pretendo publicar na pt-host.org também  :grin:
Offline

Tiago Martins 
Membro
Mensagens 932 Gostos 9
Feedback +4

Troféus totais: 29
Trófeus: (Ver todos)
Apple User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3 Level 2

Ninguem?!?!? :s
Offline

=IceBurn= 
Membro
Mensagens 897 Gostos 3
Feedback +3

Troféus totais: 32
Trófeus: (Ver todos)
Windows User Level 6 Linux User Mobile User Super Combination Combination Topic Starter Poll Voter Poll Starter Level 5

Olá!

Eu aconselho-te a veres isso pela extenção do ficheiro, pelo simples facto de que podem existir vários mime types para o mesmo tipo de ficheiro, o que te vai tornar o código mais lento, pois terás que fazer uma série de verificações.


Assim de repente e feito em cima do joelho como se costuma dizer, aqui fica um exemplo (Não Testado!):
Código: (PHP) [Seleccione]
<?php

/**
 * @author =IceBurn=
 * @license Freeware
 */

$filename  $_FILES['file']['name'];
$extension strtolowerendexplode'.'$filename ) ) );


if( 
preg_match'/^(gif|jpg|jpeg|png|bmp)$/'$extension )) {
    
    
// É uma imagem
    
} else {
    
    switch(
$extension) {
        
        case 
'zip' : {
            
            
// arquivo ZIP
            
        
} break;
        
        case 
'exe' : {
            
            
// arquivo EXE
            
        
} break;
        
        
// Etc Etc Etc ....
        
        
default : die('Ficheiro Desconhecido!');
        
    }
    
}

?>