Jobless 0 Denunciar post 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!"; } ?> Valeu! :blink: Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo de Andrade 2 Denunciar post Postado Maio 22, 2009 adiciona no teu codigo : $f_size = $FILES['file']['size']; if($f_size > 500){ echo 'erro, tamanho maior que o permitido'; } to com pressa entao acho que deu pra entender... espero que ajude ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Jobless 0 Denunciar post Postado Maio 22, 2009 Galera eu fiz como me indicaram mas será que eu implementei em lugar errado? Mesmo a imagem tendo menos que 500kb ta retornando erro, tamanho maior que o permitido... Me ajudem segue como eu implementei... <?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']; $f_size = $_FILES['file']['size']; if($f_size > 500){ echo 'erro, tamanho maior que o permitido'; } else { //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!"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Jobless 0 Denunciar post Postado Maio 22, 2009 Galera eu fiz como me indicaram mas será que eu implementei em lugar errado? Mesmo a imagem tendo menos que 500kb ta retornando erro, tamanho maior que o permitido... Me ajudem segue como eu implementei... <?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']; $f_size = $_FILES['file']['size']; if($f_size > 500){ echo 'erro, tamanho maior que o permitido'; } else { //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!"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Maio 22, 2009 Alguem pode me dar uma ajuda??? <td align="right">Cidade:</td> <td> <select name="cidade" onchange=""> <option name="Selecione">-- Selecione --</option> <option name="Campo Bom">Campo Bom</option> <option name="Canoas">Canoas</option> <option name="Dois Irmãos">Dois Irmãos</option> <option name="Estância Velha">Estância Velha</option> <option name="Ivoti">Ivoti</option> <option name="Novo Hamburgo">Novo Hamburgo</option> <option name="São Leopoldo">São Leopoldo</option> </select><br> </td> </tr> <tr> <td align="right">Bairro:</td> <td> <select name="bairro" > <option name="Selecione">-- Selecione --</option> </select><br> preciso chamar a tabela "bairro" do database após selecionar a cidade, para somente exibir os bairros daquela cidade... alguem pode me ajudar a configurar o evento "onchange" em Javascript Compartilhar este post Link para o post Compartilhar em outros sites
fetish 3 Denunciar post Postado Maio 22, 2009 Lol é só usar filesize, veja: <?php if (filesize($_FILES['campo']['name']) > 500)) {echo 'Você ultrapassou o peso permitido';exit;} ?> @Topic Sobre sua duvida com onchange, procura estudar ajax ;x Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Maio 22, 2009 tah e não tem como fazer issu em php???? Compartilhar este post Link para o post Compartilhar em outros sites
fetish 3 Denunciar post Postado Maio 22, 2009 Ué inclua o codigo acima no seu codigo o.O Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Maio 22, 2009 qual dos milhoes de codigos acima... eu vi num codigo fonte por ai que era programado em js, ou melhor, o onchange, chamava uma function , mas não tinha acesso a funtioun... é, só isso que eu quero... como programo a function no js pra puxa as tabela do banco... Compartilhar este post Link para o post Compartilhar em outros sites
fetish 3 Denunciar post Postado Maio 22, 2009 Afinal o que você quer fazer? Limitar o tamanho do arquivo? Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Maio 22, 2009 eu quero cria uma function pra puxa uma tabela do meu banco e usa o onchange no select Compartilhar este post Link para o post Compartilhar em outros sites
fetish 3 Denunciar post Postado Maio 22, 2009 Isso é facil, veja: <?php $sql = mysql_query ("SELECT campo FROM tabela WHERE id = '1'"); $assoc = mysql_fetch_assoc ($sql); echo '<select name="exemplo"><option>'.$assoc['nome'].'</option><option>'.$assoc['cidade'].'</option></select>'; ?> Compartilhar este post Link para o post Compartilhar em outros sites
diego-md 0 Denunciar post Postado Maio 23, 2009 vlw, desculpa a inrolação e a intromissão no assunto, mais issso é o que estava faltendo para mim terminar meu projeto escolar... se não funcionar retorno a este tópico... Compartilhar este post Link para o post Compartilhar em outros sites
vonzuben 12 Denunciar post Postado Maio 25, 2009 // Tamanho máximo do arquivo (em Kb) $_UP['tamanho'] = 2048; // 2Mb // Faz a verificação do tamanho do arquivo else if ($_UP['tamanho'] > $_FILES['arquivo']['size']) { echo "O arquivo enviado é muito grande, envie arquivos de até 2Mb."; } isso te ajuda? Compartilhar este post Link para o post Compartilhar em outros sites