Descobrindo Tamanho do Arquivo com PHP

Atualizado em 29 de Maio de 2013

Descobrindo Tamanho do Arquivo com PHP

Olá pessoal,

No post de hoje vamos ver mais uma dica sobre validações, vamos aprender como descobrir o tamanho de uma arquivo com o PHP através do comando filesize.

Imagine se você tem uma área de uploads em seu site e quer restringir que os arquivos enviados tenham no máximo 2MB de tamanho (lembrando que este comando retorna sempre o tamanho em bytes).

Veja o exemplo do comando filesize:

<?php
$arquivo = 'video-teste.mp4';

if(filesize($arquivo) < 2097152)
 {
  echo 'Seu arquivo foi aceito.';
 }
else
 {
  echo 'Seu arquivo e maior do que o permitido.';
 }
?>

Obs.: Como o tipo inteiro do PHP é sinalizado e muitas plataformas utilizam inteiros de 32 bits, filesize() pode retornar resultados inesperados para arquivos que sejam maiores que 2 Gb. Para arquivos entre 2 Gb e 4 Gb você pode resolver esse problema utilizando sprintf("%u", filesize($file)).


E isso aí pessoal, até a próxima.


Gostou do post, continue por dentro das dicas de programação!!! Assine a newsletter.

Tags:  Comandos PHP | PHP

Comentários

Sua foto do perfil

Sergio

07 de Abril de 2015 - 00:48

Sua foto do perfil

Mauricio Programador

Olá Sergio,

Qual versão do seu PHP? O endereço do arquivo esta correto?

Abraço.

07 de Abril de 2015 - 09:47

Sua foto do perfil

Matheus

15 de Abril de 2014 - 08:16

Sua foto do perfil

Mauricio Programador

Olá Matheus,

o comando filesize retorna um valor inteiro e como os valores inteiros no PHP utilizam 32 bits ele sempre da resultados inesperados quando são valores maiores do que 2GB, já fiz e vi varias tentativas para poder achar uma solução viável, porém não encontrei.

Abraço.

15 de Abril de 2014 - 09:25

Sua foto do perfil

Gabi

01 de Fevereiro de 2014 - 10:44

Sua foto do perfil

Mauricio Programador

Olá Gabi,

este comando sempre retornar em bytes para obter em MB você terá que converter.

Abraço.

02 de Fevereiro de 2014 - 11:25

Sua foto do perfil

Gabi

Como eu faço para pega o nome do arquivo usando uma variável tipo
pagina.php?nome=documento ?

02 de Fevereiro de 2014 - 11:28

Sua foto do perfil

Mauricio Programador

Basta usar o comando $_GET (Link). Ex.:

$_GET['nome'];

Abraço.

02 de Fevereiro de 2014 - 11:29

Sua foto do perfil

renatto

Ok muito boa a explicacao
mais eu queria tirar uma duvida...

criei um formulario para enviar arquivos para o meu servidor, mais so envia arquivos ate o mp3 como enviar arquivos de ate 200MB ???? SERIA POSSIVEL ?

15 de Novembro de 2013 - 12:39

Sua foto do perfil

Mauricio Programador

Olá Renatto,


sim e possível, geralmente os servidores configuram suas plataforma para não enviarem arquivos grandes.

Dependendo de onde esteja a sua hospedagem basta alterar os parâmentros indicados abaixo no arquivo php.ini da sua hospedagem que resolve o caso.

post_max_size = 200M
upload_max_filesize = 200M


Espero que ajude.

Grande Abraço.

15 de Novembro de 2013 - 17:20

NEWSLETTER

Receba dicas de programação
em seu e-mail

TWITTER

Acompanhe tudo o que rola
com Mauricio Programador

NEWSLETTER