Como descobrir o mime-type de arquivos de upload?
Buenas galera, td tranquilão por ai??
Seguinte, tenho um formulario criado com enctype="multipart/form-data", para fazer upload de arquivos mp3. Como estou preocupado com a segurança, faço toda a checagem através do mime-type uma vez que se fizer somente pela extensão pode ter gente q burle isso.
O problema é que nao consigo recuperar o mime-type, ja dei um print $_FILES["media_file"]["type"];
mas não exibe nada, já tentei comparar com o mime-type "audio/mpeg" como está descrito aqui nesta página http://www.w3schools.com/media/media_mimeref.asp, mas nada deu certo.
Como posso checar o mime-type de arquivos mp3?
Agradeço a atenção e a colaboração de quem me ajudar.
Grande abraço.
Seguinte, tenho um formulario criado com enctype="multipart/form-data", para fazer upload de arquivos mp3. Como estou preocupado com a segurança, faço toda a checagem através do mime-type uma vez que se fizer somente pela extensão pode ter gente q burle isso.
O problema é que nao consigo recuperar o mime-type, ja dei um print $_FILES["media_file"]["type"];
mas não exibe nada, já tentei comparar com o mime-type "audio/mpeg" como está descrito aqui nesta página http://www.w3schools.com/media/media_mimeref.asp, mas nada deu certo.
Como posso checar o mime-type de arquivos mp3?
Agradeço a atenção e a colaboração de quem me ajudar.
Grande abraço.
comentários (0)
suspender
Lista de Respostas:
01/07/2009 12:39am
(~15 anos atrás)
(~15 anos atrás)
opa... aumentei o tamanho do upload de 2mb para 10mb apenas para testar e o upload está funcionando perfeitamente agora, mas se alguém souber de algum outro problema parecido e como resolver postem ai, vamos nos ajudar!!!
Grande abraço.
Grande abraço.
06/07/2009 3:52pm
(~15 anos atrás)
(~15 anos atrás)
Já deu um var_dump($_FILES["media_file"]["type"]); para ver se o mime é exibido?
Se ele não for exibido, verifique se o upload está podendo ser efetuado completamente utilizando outro arquivo.
Mas qualquer coisa, existe uma extensão PECL chamada fileinfo que pode te ajudar com mimetypes reais de arquivos.
Qualquer dúvida, olha nesta página aqui:
http://www.jellyandcustard.com/2006/01/19/php-mime-types-and-fileinfo/
precisa ter um pouco de conhecimento em ingles para entende-la.
Qualquer coisa, explique um pouco melhor esse seu problema, por que ainda não entendi o que você quer.
Se ele não for exibido, verifique se o upload está podendo ser efetuado completamente utilizando outro arquivo.
Mas qualquer coisa, existe uma extensão PECL chamada fileinfo que pode te ajudar com mimetypes reais de arquivos.
Qualquer dúvida, olha nesta página aqui:
http://www.jellyandcustard.com/2006/01/19/php-mime-types-and-fileinfo/
precisa ter um pouco de conhecimento em ingles para entende-la.
Qualquer coisa, explique um pouco melhor esse seu problema, por que ainda não entendi o que você quer.
09/07/2009 2:24pm
(~15 anos atrás)
(~15 anos atrás)
Exemplo de como se usa Strtolower:
$extensao = strtolower(end(explode('.', $_FILES['arquivoupload']['nome'])));
a função acima retona a extenção do arquivo.
Como fazer o contole de arquivos para upload
$_UP['extensoes'] = array('mp3', 'wma', 'zip', 'rar');
aqui voce coloca a extenção que vc quer que seja verificada (nesse caso mp3, wma,zip, rar)
if (array_search($extensao, $_UP['extensoes']) === false) {
echo "Por favor, envie áudios com as seguintes extensões: mp3, wma<br>
Podem ser zipados em zip ou rar<br>";
} else {código para fazer upload}
esse IF aí em cima verifica se a extenção do arquivo a ser upado é a mesma das extenções
que vc definiu, se for ele faz o upload.
$extensao = strtolower(end(explode('.', $_FILES['arquivoupload']['nome'])));
a função acima retona a extenção do arquivo.
Como fazer o contole de arquivos para upload
$_UP['extensoes'] = array('mp3', 'wma', 'zip', 'rar');
aqui voce coloca a extenção que vc quer que seja verificada (nesse caso mp3, wma,zip, rar)
if (array_search($extensao, $_UP['extensoes']) === false) {
echo "Por favor, envie áudios com as seguintes extensões: mp3, wma<br>
Podem ser zipados em zip ou rar<br>";
} else {código para fazer upload}
esse IF aí em cima verifica se a extenção do arquivo a ser upado é a mesma das extenções
que vc definiu, se for ele faz o upload.
09/07/2009 2:26pm
(~15 anos atrás)
(~15 anos atrás)
Note que são 3 iguais para verificar ===
Espero ter ajudado
Espero ter ajudado
11/07/2009 6:26pm
(~15 anos atrás)
(~15 anos atrás)
acho melhor partir para mime do arquivo mesmo.
28/07/2009 12:10pm
(~15 anos atrás)
(~15 anos atrás)
Olá,
Lembre-se de verificar o upload_max_filesize. Se você esta tentando enviar um arquivo maior que o limite permitido, o arquivo será nulo, ou seja, nenhum "mime-type" irá aparecer.
Na dúvida, tente enviar um arquivo menos (um simples arquivo .txt por exemplo)
Lembre-se de verificar o upload_max_filesize. Se você esta tentando enviar um arquivo maior que o limite permitido, o arquivo será nulo, ou seja, nenhum "mime-type" irá aparecer.
Na dúvida, tente enviar um arquivo menos (um simples arquivo .txt por exemplo)
20/07/2011 9:53am
(~13 anos atrás)
(~13 anos atrás)
só para constar:
strtolower converte os caracteres da string, deixando todas minúsculas.
não tem relação nenhuma com upload de arquivos.
strtolower converte os caracteres da string, deixando todas minúsculas.
não tem relação nenhuma com upload de arquivos.
09/07/2009 1:57pm
(~15 anos atrás)
(~15 anos atrás)
Existe uma função chamada strtolower que pega a extenção dos arquivos a ser upados.