Ir para conteúdo
Fórum Script Brasil
  • 0

Limitar tamanho da imagem no upload


Jobless

Pergunta

Estou implementando este sistema de upload de fotos, e tentei fazer com que os arquivos a serem upados, no caso as "fotos" tenham limite.

Exemplo:

Ao estipular um limite de 500kb. O usuário não possa fazer o upload de um arquivo de foto maior que esse valor..

Se alguém puder me ajudar a icrementar essa opção nesse script eu agradeço e posto ele modificado para uso dos demais.

Segue o script desenvolvido:

<?php

//Diretório aonde ficará os arquivos
$dir = "./ima/";

//Extensões permitidas
$ext = array("GIF","giff","gif","jpg","png","jpeg","bmp","JPG");

//Quant. de campos do tipo FILE
$campos = 4;

//Formulário
echo '<form method="post" action="'.$PHP_SELF.'" enctype="multipart/form-data">
  Arquivo: <input type="file" name="file[]"><p>

  Arquivo: <input type="file" name="file[]"><p>

  Arquivo: <input type="file" name="file[]"><p>

  Arquivo: <input type="file" name="file[]"><p>


  <input type="submit" name="submit" value=" OK ">
  </form>';




//Se for enviado
if (isset($_POST['submit'])) {
    

//Obtendo info. dos arquivos

$f_name = $_FILES['file']['name'];
$f_tmp = $_FILES['file']['tmp_name'];
$f_type = $_FILES['file']['type'];



//Contar arquivos enviados
$cont=0;

//Repetindo de acordo com a quantidade de campos FILE
for($i=0;$i<$campos;$i++){

//Pegando o nome
$name = $f_name[$i];
$file_info = pathinfo($name);
$md5_name = substr(md5(microtime()),0,32) .'.'. $file_info['extension'];

$ext = explode( '.' , $name );



//Verificando se o campo contem arquivo
  if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {
      

    if ($cont==0) {
      echo "<b>Arquivo(s) enviados:<p>
</b>";
    }
      echo $name."<p>";
      
      
      $ponto= "";
      //Movendo arquivo's do upload
     $up = move_uploaded_file($f_tmp[$i], $dir . $md5_name);

        //Status
        if ($up==true):
            echo  "<i>Enviado!</i>";
              $cont++;
        else:
            echo "<i>Falhou!</i>";
        endif;

      echo "
";
  }

}

echo ($cont!=0) ? "<p><i>Total de arquivos enviados: </i>".$cont : "Nenhum arquivo foi enviado!";

}

?>

:unsure:

Valeu!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Galera o pessoal ta me ajudando a implementar meu código, implementei com a global $_FILES , mas setei o limite para 150 kb mas continua dando erro, por mais que a foto tenha menos de 150 kb ao invés de upar a foto aparece o print "Arquivo muito grande, limite de 150KB".

Podem me ajudar e dizer onde estou errando no script ?

Não era para estar funcionando?

Segue abaixo na íntegra como está, se puderem me ajudar..

<?php

//Diretório aonde ficará os arquivos
$dir = "./ima/";

//Extensões permitidas
$ext = array("GIF","giff","gif","jpg","png","jpeg","bmp","JPG");

//Quant. de campos do tipo FILE
$campos = 4;

//Formulário
echo '<form method="post" action="'.$PHP_SELF.'" enctype="multipart/form-data">
  Arquivo: <input type="file" name="file[]"><p>

  Arquivo: <input type="file" name="file[]"><p>

  Arquivo: <input type="file" name="file[]"><p>

  Arquivo: <input type="file" name="file[]"><p>


  <input type="submit" name="submit" value=" OK ">
  </form>';




//Se for enviado
if (isset($_POST['submit'])) {
    

$limite = 153600; // Limite de 150 KB (150 * 1024)

$tamanho = $_FILES['file']['size']; // Tamanho do arquivo que o usuário colocou

// Se o tamanho do arquivo for maior ou igual ao limimte
if($tamanho >= $limite){

print "Arquivo muito grande, limite de 150KB";

} else{//fecha na linha 101

    

//Obtendo info. dos arquivos

$f_name = $_FILES['file']['name'];
$f_tmp = $_FILES['file']['tmp_name'];
$f_type = $_FILES['file']['type'];



//Contar arquivos enviados
$cont=0;

//Repetindo de acordo com a quantidade de campos FILE
for($i=0;$i<$campos;$i++){

//Pegando o nome
$name = $f_name[$i];
$file_info = pathinfo($name);
$md5_name = substr(md5(microtime()),0,32) .'.'. $file_info['extension'];

$ext = explode( '.' , $name );



//Verificando se o campo contem arquivo
  if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {
      

    if ($cont==0) {
      echo "<b>Arquivo(s) enviados:<p>
</b>";
    }
      echo $name."<p>";
      
      
      $ponto= "";
      //Movendo arquivo's do upload
     $up = move_uploaded_file($f_tmp[$i], $dir . $md5_name);

        //Status
        if ($up==true):
            echo  "<i>Enviado!</i>";
              $cont++;
        else:
            echo "<i>Falhou!</i>";
        endif;

      echo "
";
  }

}

echo ($cont!=0) ? "<p><i>Total de arquivos enviados: </i>".$cont : "Nenhum arquivo foi enviado!";

}
}//linha 101
?>

Vamos detonar este script galera!!! Valeu!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...