Jobless Postado Maio 22, 2009 Denunciar Share Postado Maio 22, 2009 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Maio 22, 2009 Denunciar Share Postado Maio 22, 2009 $_FILES['file']['size'] retorna o tamanho do arquivo, logo, basta fazer um if/else com isso e pronto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jobless Postado Maio 22, 2009 Autor Denunciar Share Postado Maio 22, 2009 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Maio 22, 2009 Denunciar Share Postado Maio 22, 2009 Porque abrir um novo tópico para isso?Fundindo os tópicos...Dá um echo no valor que está vindo do $tamanho... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jobless
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:
:unsure:
Valeu!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
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.