Ir para conteúdo
Fórum Script Brasil

Carlos Rocha

Membros
  • Total de itens

    1.302
  • Registro em

  • Última visita

Tudo que Carlos Rocha postou

  1. Ola pessoal. Estou tendo muitas dificuldades com Upload de Varias imagens. O cadastro é uma beleza. Cadastro tambem no banco, bão de +. Acontece que o site é um site de imobiliaria e corre o risco de o cliente querer trocar(substituir-update) uma das fotos e é ai que minha dificuldade esta. Quando faço o update, a partir do código que criei, o update até feito certo, só que não estou conseguindo dizer o seguinte: Quero alterar apenas a foto 3, ou a 2. Por esse script eu tenho que alterar todas, se não, no caso de alterar apenas, por exemplo, a segunda e a quinta fotos, o script altera a primeira e a segunda. Tem alguma saida pra isso? Segue o meu código: FormInsert.php <b>Envio das fotos</b><br /> <? include("../global/conexao.php"); ?> <? if ($acao=="inserir") { ?> <form action="FormInsert.php?acao=insere" method="post" enctype="multipart/form-data"> <input type="file" name="Fotos[]"><br /> <input type="file" name="Fotos[]"><br /> <input type="file" name="Fotos[]"><br /> <input type="file" name="Fotos[]"><br /> <input type="file" name="Fotos[]"><br /> <input type="submit" value="OK"/> </form> <? } ?> <? if ($acao=="insere") { include ("Multiplos_Uploads.php"); $NomedasFotos = explode(';',$NomeTodasFotos); print $NomedasFotos[1]; $sql_insere= mysql_query("insert into imoveiscadastrovenda (Foto, Foto2, Foto3, Foto4, Foto5) values ('$NomedasFotos[0]','$NomedasFotos[1]','$NomedasFotos[2]','$NomedasFotos[3]', '$NomedasFotos[4]') ") or die ("Merda"); if ($sql_insere) {echo "Bão";} else {echo "Ruim";} } ?> FormUpdate.php <script> function AbreImagemGrande(UrlPagI,NameI,Wi,He,scrolling) { if (!scrolling) { scrolling = 'auto' } PopImagemGrande = window.open(UrlPagI,NameI,'width='+Wi+',height='+He+',scrollbars=no,toolbar=no,location=no,status=no,menubar=no,resizable=no'); } </script> <? include("../global/conexao.php"); ?> <? if ($acao=="listar") { ?> <b>Envio das fotos</b><br /> <form action="FormUpdate.php?acao=alterar" method="post" enctype="multipart/form-data"> <? $sql = "Select Foto, Foto2, Foto3, Foto4, Foto5 from imoveiscadastrovenda where Id=4"; $sql1 = mysql_query($sql) or die ("Select mau feito"); $nome_das_fotos = mysql_fetch_array($sql1); $Foto[1] = $nome_das_fotos['Foto']; $Foto[2] = $nome_das_fotos['Foto2']; $Foto[3] = $nome_das_fotos['Foto3']; $Foto[4] = $nome_das_fotos['Foto4']; $Foto[5] = $nome_das_fotos['Foto5']; $endereco_mini="teste_upload/mini/"; $endereco_normal="teste_upload/normal/"; for ($i=1; $i<6;$i++) { $foto_mini = $endereco_mini.$Foto[$i]; $foto_normal = $endereco_normal.$Foto[$i]; //aqui ele vai ver se existe alguma coisa escrita no campo foto_receita na tabela if($Foto[$i]==""){ $Fotografia = "<font color=#DEE9EF size=2 face=verdana,arial, Helvetica, sans-serif><strong>Sem foto1</strong></font>"; } else { //se existir um valor no campo na tabela ele testa se a foto esxiste 'fisicamente' na pasta if(file_exists($foto_mini)){ if(file_exists($foto_normal)){ //se existir ele monta a exibição da foto e coloca numa variavel $foto2 $Fotografia = "<img src=$foto_mini border=0 height=40>"; list($width, $height) = getimagesize($foto_normal); $Fotografia = "<a href=java script:AbreImagemGrande('ImoveisVenda_Conteudo_Con.php?id=$Id','ImpNot','$width','$height')>$Fotografia</a>"; } else { //se tiver um valor na tabela, mas a foto não existir na pasta a variavel fica setada como sem foto $Fotografia = "<font color=#DEE9EF size=2 face=verdana,arial, Helvetica, sans-serif><strong>Sem foto2</strong></font>"; } } else{ //se tiver um valor na tabela, mas a foto não existir na pasta a variavel fica setada como sem foto $Fotografia = "<font color=#DEE9EF size=2 face=verdana,arial, Helvetica, sans-serif><strong>Sem foto3</strong></font>"; } } echo " <input type='file' name='Fotos[]'> $Fotografia<br> "; }//Fimdo for ?> <input type="submit" value="OK"/> </form> <? } ?> <? if ($acao=="alterar") { include ("Multiplos_Uploads.php"); $NomedasFotos = explode(';',$NomeTodasFotos); $sql_insere= mysql_query("update imoveiscadastrovenda set Foto='$NomedasFotos[0]', Foto2='$NomedasFotos[1]', Foto3='$NomedasFotos[2]', Foto4='$NomedasFotos[3]', Foto5='$NomedasFotos[4]' where id=4"); if ($sql_insere) {echo "Bão";} else {echo "Ruim";} } ?> Multiplos_Uploads.php <? $dir="teste_upload/normal/"; $dir_mini="teste_upload/mini/"; $Fotos = $_FILES['Fotos']; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; if (!$Nome) { echo 'Você não enviou nada na posição' . ($i+1) . '<br/>'; } else { ereg ("(.*)\.([^.]+)$", $Nome, $partes); if(($partes[2] != "jpg") and ($partes[2] != "jpeg") and ($partes[2] != "png") and ($partes[2] != "gif")) { echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else { // Pega extensão do arquivo preg_match("/\.(gif|png|jpg|jpeg){1}$/i", $Nome, $ext); // Retira a extensao do nome do arquivo $nome_sem_extensao = $Nome; $nome_sem_extensao = basename ($nome_sem_extensao,".gif"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpeg"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpg"); $nome_sem_extensao = basename ($nome_sem_extensao,".png"); // Retira espaços em branco do nome do arquivo $nome_banco = str_replace(" ","_",$nome_sem_extensao); //Gera um nome único para a imagem //$imagem_nome = $nome_banco . "." . md5(uniqid(time())) . "." . $ext[1]; $imagem_nome = md5(uniqid(time())) . "." . $ext[1]; //Diretórios de Gravação das imagens $Caminho = $dir . $imagem_nome; $Caminho_mini = $dir_mini . $imagem_nome; if(move_uploaded_file($Tmpname, $Caminho)) { echo 'Foto ' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; ///cria a miniatura e faz io move_uploaded_file //IMAGEM A SER ABERTA Nesse momento será o $Caminho pois o upload já foi feito e o arquivo temporario apagado //CRIA UMA NOVA IMAGEM if ($ext[1] =="jpg") { $imagem_orig = imagecreatefromjpeg($Caminho); } else if ($ext[1] =="jpeg") { $imagem_orig = imagecreatefromjpeg($Caminho); } else if ($ext[1] =="gif") { $imagem_orig = imagecreatefromgif($Caminho); } else if ($ext[1] =="png") { $imagem_orig = imagecreatefrompng($Caminho); } //LARGURA $pontoX = ImagesX($imagem_orig); //ALTURA $pontoY = ImagesY($imagem_orig); //DEFINE OS PARÂMETROS DA MINIATURA $largura = 150; $altura = ($pontoY * $largura) / $pontoX; //CRIA O THUMBNAIL $imagem_fin = imagecreatetruecolor($largura, $altura); //COPIA A IMAGEM ORIGINAL PARA DENTRO imagecopyresampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY); //SALVA A IMAGEM if ($ext[1] =="jpg") { imagejpeg($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="jpeg") { imagejpeg($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="gif") { imagegif($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="png") { imagepng($imagem_fin, $Caminho_mini); } $NomesFotos[] = $imagem_nome; //LIBERA A MEMÓRIA imagedestroy($imagem_orig); imagedestroy($imagem_fin); } else // Erro no envio { echo 'Não foi possível enviar a foto' . ($i+1) . '<br/>'; } } } } //FIM DO FOR $NomeTodasFotos = implode(';',$NomesFotos); ?>
  2. Mas hein ESerra, Obrigado, deu certo. Mas, aproveitando a boa vontade, to com mais dois problemas nesse codigo que até agora não consegui resolver; Caso possa ajudar: 1) Quando faço o Upload de imagens gif e png, o fundo das miniaturas fica preto e não a cor de fundo da imagem original. Queria arrumar isso. 2) Não estou conseguindo uma funçaopara fazer o upload e gerar a miniatura de figuras .bmp (que funcione).; Caso possa ajuidar agradeço. Um abç e obnrigado pelas inuimeras ajudas que, até aqui, você tem me dado.
  3. Puxa, ainda não cosnegui resolver!
  4. Mas hein ESerra, Obrigado, deu certo. Mas, aproveitando a boa vontade, to com mais dois problemas nesse codigo que até agora não consegui resolver; Caso possa ajudar: 1) Quando faço o Upload de imagens gif e png, o fundo das miniaturas fica preto e não a cor de fundo da imagem original. Queria arrumar isso. 2) Não estou conseguindo uma funçaopara fazer o upload e gerar a miniatura de figuras .bmp (que funcione).; Caso possa ajuidar agradeço. Um abç e obnrigado pelas inuimeras ajudas que, até aqui, você tem me dado.
  5. Como faria isso? Da um exemplo fazendo favor! O que eu quero é o seguinte: O código abaixo de upload de varias imagens (aqui só esta a parte do upload) os demais campos do form tirei. Como são varias imagens, é feito um loop e, a cada volta do for, eu tenho um nome diferente. Dai, quero juntar nome da primeira imagen uploadeada, e a segunda e a "N" em uma variavel FORA do loop sendo que os noimes serão em forma de string separados por ';'; Como faz isso? Segue o código: <b>Envio das fotos</b><br /> <form action="Multiplos_Uploads.php" method="post" enctype="multipart/form-data"> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="submit" value="OK"/> </form> <? $dir="teste_upload/normal/"; $dir_mini="teste_upload/mini/"; $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; if (!$Nome) { echo 'Você não enviou nada na posição' . ($i+1) . '<br/>'; } else { ereg ("(.*)\.([^.]+)$", $Nome, $partes); if(($partes[2] != "jpg") and ($partes[2] != "jpeg") and ($partes[2] != "png") and ($partes[2] != "gif")) //if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Tipo)) { echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else { // Pega extensão do arquivo preg_match("/\.(gif|png|jpg|jpeg){1}$/i", $Nome, $ext); // Retira a extensao do nome do arquivo $nome_sem_extensao = $Nome; $nome_sem_extensao = basename ($nome_sem_extensao,".gif"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpeg"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpg"); $nome_sem_extensao = basename ($nome_sem_extensao,".png"); // Retira espaços em branco do nome do arquivo $nome_banco = str_replace(" ","_",$nome_sem_extensao); //Gera um nome único para a imagem $imagem_nome = $nome_banco . "." . md5(uniqid(time())) . "." . $ext[1]; //Diretórios de Gravação das imagens $Caminho = $dir . $imagem_nome; $Caminho_mini = $dir_mini . $imagem_nome; if(move_uploaded_file($Tmpname, $Caminho)) { echo 'Foto ' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; ///cria a miniatura e faz io move_uploaded_file //IMAGEM A SER ABERTA Nesse momento será o $Caminho pois o upload já foi feito e o arquivo temporario apagado //CRIA UMA NOVA IMAGEM if ($ext[1] =="jpg") { $imagem_orig = imagecreatefromjpeg($Caminho); } else if ($ext[1] =="jpeg") { $imagem_orig = imagecreatefromjpeg($Caminho); } else if ($ext[1] =="gif") { $imagem_orig = imagecreatefromgif($Caminho); } else if ($ext[1] =="png") { $imagem_orig = imagecreatefrompng($Caminho); } //LARGURA $pontoX = ImagesX($imagem_orig); //ALTURA $pontoY = ImagesY($imagem_orig); //DEFINE OS PARÂMETROS DA MINIATURA $largura = 150; $altura = ($pontoY * $largura) / $pontoX; //CRIA O THUMBNAIL $imagem_fin = imagecreatetruecolor($largura, $altura); //COPIA A IMAGEM ORIGINAL PARA DENTRO imagecopyresampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY); //SALVA A IMAGEM if ($ext[1] =="jpg") { imagejpeg($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="jpeg") { imagejpeg($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="gif") { imagegif($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="png") { imagepng($imagem_fin, $Caminho_mini); } $NomesFotos = Array(); $NomesFotos= $imagem_nome; //LIBERA A MEMÓRIA imagedestroy($imagem_orig); imagedestroy($imagem_fin); } else // Erro no envio { echo 'Não foi possível enviar a foto' . ($i+1) . '<br/>'; } } } } //FIM DO FOR ?> <?=$NomesFotos[1];?>
  6. Ola pessoal. Tenho um loop for e dentro dele uma variavel $NomeFotos que deve, a cada laço do for, pegar o nome da foto da vez que passar pelo for e acresentar um ;(ponto e virgula) a cada foto tipo: $FotoNome == "aa.jpg"; // 1 laço do for $FotoNome == "aa.gif"; // 2 laço do for $FotoNome == "aa.png"; // 3 laço do for Alem disso, eu preçiso pegar o resulktado dessa vartiavel, do lado de fora do loop for para jogar ela num insert do SQL. Tipo assim: $sql = "Insert into fotos values NomeFotos= $NomeFotos"; Sendo que $NomeFotos = "aa.jpg;aa.gif;aa.png"; Como fazer isso? Grato a quem ajudar
  7. Carlos Rocha

    Validar PNG

    Não entendi nada. Que função enorme! Tem uma coisa mais simples não?
  8. Carlos Rocha

    Validar PNG

    Essa função não existe
  9. Carlos Rocha

    Validar PNG

    Resolvi assim: Troquei o if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Tipo)) Por ereg ("(.*)\.([^.]+)$", $Nome, $partes); if(($partes[2] != "jpg") and ($partes[2] != "jpeg") and ($partes[2] != "png") and ($partes[2] != "gif") and ($partes[2] != "bmp")) E agora esta legal. só que agora surgiu um ouitro problema.; Quando a imagem é bmp, ai, a função imagecreatefromwbmp da erroi; Veja: Warning: imagecreatefromwbmp() [function.imagecreatefromwbmp]: 'teste_upload/normal/cão_latindo.b240000b0b7b271b1a2270ff719bc376.bmp' is not a valid WBMP file in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 73 Warning: imagesx(): supplied argument is not a valid Image resource in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 76 Warning: imagesy(): supplied argument is not a valid Image resource in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 78 Warning: Division by zero in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 82 Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 85 Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 88 Warning: imagewbmp(): supplied argument is not a valid Image resource in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 94 Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 99 Warning: imagedestroy(): supplied argument is not a valid Image resource in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 100 Como resolve isso?
  10. Carlos Rocha

    Validar PNG

    Oi Pesoal. Beleza? Da uma luz aqui Seguinte: tenho esse simples script para validar a extensão de imagens if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Tipo)) { echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else { ............... Para jpg, gif e bmp vai beleza mas para png não vai. ele exibe a mensagem que o arquivo não é válido conforme o if. Porque será? Onde será que estou errando?
  11. Pessoal, ainmda não consegui resolver.; Se alguém puder me ajudar
  12. Sabe, olhando com mais atenção descobri que o patch para a fuinçao imagegif estavba trocado. Arrumei e deui certo. Porem, agora estou com um outro problema. É que a função imagegif esta gravando certo a imagem miniatura mas esta gravando com, fundo preto.; Nãoe estou sabebndo contornar esa situação.; Obs.: a fugura grava direito com o desenmho mas no fundo esta vindo preto e não o fundo da imagem original. Detalhe: parece que na criação da miniatura, a parte do frundo da original não esta sendo enviada para a miniatura. com,ko sai disso? segiue código <b>Envio das fotos</b><br /> <form action="Multiplos_Uploads.php" method="post" enctype="multipart/form-data"> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="submit" value="OK"/> </form> <? $dir="teste_upload/normal/"; $dir_mini="teste_upload/mini/"; $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; if (!$Nome) { echo 'Você não enviou nada na posição' . ($i+1) . '<br/>'; } else { if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Tipo)) { echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else { // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $Nome, $ext); // Retira a extensao do nome do arquivo $nome_sem_extensao = $Nome; $nome_sem_extensao = basename ($nome_sem_extensao,".gif"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpeg"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpg"); $nome_sem_extensao = basename ($nome_sem_extensao,".bmp"); $nome_sem_extensao = basename ($nome_sem_extensao,".png"); // Retira espaços em branco do nome do arquivo $nome_banco = str_replace(" ","_",$nome_sem_extensao); //Gera um nome único para a imagem $imagem_nome = $nome_banco . "." . md5(uniqid(time())) . "." . $ext[1]; //Diretórios de Gravação das imagens $Caminho = $dir . $imagem_nome; $Caminho_mini = $dir_mini . $imagem_nome; if(move_uploaded_file($Tmpname, $Caminho)) { echo 'Foto ' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; ///cria a miniatura e faz io move_uploaded_file //IMAGEM A SER ABERTA $imagem = $Caminho; //Nesse momento, o upload já foi feito e o arquivo temporario apagado //CRIA UMA NOVA IMAGEM if ($ext[1] =="jpg") { $imagem_orig = imagecreatefromjpeg($imagem); } else if ($ext[1] =="jpeg") { $imagem_orig = imagecreatefromjpeg($imagem); } else if ($ext[1] =="gif") { $imagem_orig = imagecreatefromgif($imagem); } else if ($ext[1] =="bmp") { $imagem_orig = imagecreatefromwbmp($imagem); } else if ($ext[1] =="png") { $imagem_orig = imagecreatefrompng($imagem); } //LARGURA $pontoX = ImagesX($imagem_orig); //ALTURA $pontoY = ImagesY($imagem_orig); //DEFINE OS PARÂMETROS DA MINIATURA $largura = 150; $altura = ($pontoY * $largura) / $pontoX; //CRIA O THUMBNAIL $imagem_fin = imagecreatetruecolor($largura, $altura); //COPIA A IMAGEM ORIGINAL PARA DENTRO imagecopyresampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY); //SALVA A IMAGEM if ($ext[1] =="jpg") { imagejpeg($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="jpeg") { imagejpeg($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="gif") { imagegif($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="bmp") { imagewbmp($imagem_fin, $Caminho_mini ,100); } else if ($ext[1] =="png") { imagepng($imagem_fin, $Caminho_mini ,100); } //LIBERA A MEMÓRIA imagedestroy($imagem_orig); imagedestroy($imagem_fin); } else // Erro no envio { echo 'Não foi possível enviar a foto' . ($i+1) . '<br/>'; } } } } //FIM DO FOR ?>
  13. Passei para 777 e continua Unabled to Open
  14. Permissão 755 Esta gravando normalmente jpeg. Apenas gif, png não gravam
  15. Não, a permissão não é 777. Mas, asa figuras jpg e jpeg vão normal. Inclusive, as imagens em tamanho normal das .gif são uplodeadas normalmente. Apenas s miniaturas não são gravadas por falta de permissão. Dai "penso" que pode não ser problema nas pastas. Mas, e o caso das png que são barradas no ergi?
  16. Ola pessoal. Mais uma vez preciso de ajuda. Estou com o códigdo abaixo de Upload com thumbnmail. Esta funcionando porem tem alguns erros que não estou conseguindo tirar e estou a pedir ajuda. São eles: 1) Quando a imagem é jpg ou jpeg, faz o upload e gera o thumbmail (miniatura) certinho. 2) Quando a imagem é gif, faz o upload e não gera o thumbmail (miniatura) e diz que a funçao imagegif não tem permissão de escrita na pasta. Warning: imagegif() [function.imagegif]: Unable to open 'teste_upload/mini/' for writing: Is a directory in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 92 3) Quando a imagem é png, não faz e diz que o arquivo é invalido (mensagem do site, não do php). O arquivo 1 não é um arquivo válido. 4) Quando a imagem é bmp, faz o upload e não gera o thumbmail (miniatura) informando o erro abaixo. Warning: imagecreatefromwbmp() [function.imagecreatefromwbmp]: 'teste_upload/normal/cão_latindo.77579dfd069adcb618aeabbd3735dc48.bmp' is not a valid WBMP file in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 72 Será que não há uma função que cria thumbnail(miniaturas) A partir de qualquer extensão (Jpeg, png, gif)? Tipo, a imagecreatefromjpeg só cria a partir de jpg, a imagecreatefromgif só cria a partir de gif. Existe ua função que cria thumbnail(miniaturas) A partir de qualquer extensão (Jpeg, png, gif)? Eis o código: <b>Envio das fotos</b><br /> <form action="Multiplos_Uploads.php" method="post" enctype="multipart/form-data"> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="submit" value="OK"/> </form> <? $dir="teste_upload/normal/"; $dir_mini="teste_upload/mini/"; $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; if (!$Nome) { echo 'Você não enviou nada na posição' . ($i+1) . '<br/>'; } else { if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Tipo)) { echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else { // Pega extensão do arquivo preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $Nome, $ext); // Retira a extensao do nome do arquivo $nome_sem_extensao = $Nome; $nome_sem_extensao = basename ($nome_sem_extensao,".gif"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpeg"); $nome_sem_extensao = basename ($nome_sem_extensao,".jpg"); $nome_sem_extensao = basename ($nome_sem_extensao,".bmp"); $nome_sem_extensao = basename ($nome_sem_extensao,".png"); // Retira espaços em branco do nome do arquivo $nome_banco = str_replace(" ","_",$nome_sem_extensao); //Gera um nome único para a imagem $imagem_nome = $nome_banco . "." . md5(uniqid(time())) . "." . $ext[1]; //Diretórios de Gravação das imagens $Caminho = $dir . $imagem_nome; $Caminho_mini = $dir_mini . $imagem_nome; if(move_uploaded_file($Tmpname, $Caminho)) { echo 'Foto ' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; ///cria a miniatura e faz io move_uploaded_file //IMAGEM A SER ABERTA $imagem = $Caminho; //Nesse momento, o upload já foi feito e o arquivo temporario apagado //CRIA UMA NOVA IMAGEM if ($ext[1] =="jpg") { $imagem_orig = imagecreatefromjpeg($imagem); } else if ($ext[1] =="jpeg") { $imagem_orig = imagecreatefromjpeg($imagem); } else if ($ext[1] =="gif") { $imagem_orig = imagecreatefromgif($imagem); } else if ($ext[1] =="bmp") { $imagem_orig = imagecreatefromwbmp($imagem); } else if ($ext[1] =="png") { $imagem_orig = imagecreatefrompng($imagem); } //LARGURA $pontoX = ImagesX($imagem_orig); //ALTURA $pontoY = ImagesY($imagem_orig); //DEFINE OS PARÂMETROS DA MINIATURA $largura = 150; $altura = ($pontoY * $largura) / $pontoX; //CRIA O THUMBNAIL $imagem_fin = imagecreatetruecolor($largura, $altura); //COPIA A IMAGEM ORIGINAL PARA DENTRO imagecopyresampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY); //SALVA A IMAGEM if ($ext[1] =="jpg") { imagejpeg($imagem_fin, $dir_mini ,100); } else if ($ext[1] =="jpeg") { imagejpeg($imagem_fin, $dir_mini ,100); } else if ($ext[1] =="gif") { imagegif($imagem_fin, $dir_mini ,100); } else if ($ext[1] =="bmp") { imagewbmp($imagem_fin, $dir_mini ,100); } else if ($ext[1] =="png") { imagepng($imagem_fin, $dir_mini ,100); } //LIBERA A MEMÓRIA imagedestroy($imagem_orig); imagedestroy($imagem_fin); } else // Erro no envio { echo 'Não foi possível enviar a foto' . ($i+1) . '<br/>'; } } } } //FIM DO FOR ?> Como posso arrumar isso?
  17. To sim. O problema era que estava usando o imaecreatefromjpeg() de dentro de uma condicional if e naquele momente (dentrto do if), o patch que estva procurando da imagem temporaria já havia sido deletado pois o moveupload já havia sido feito. Assim, alterei o patch para o endereço(no servidor) para onde a figura havia sido movida. Ok. Obrigado.
  18. Ola pessoal. Estou aqui criando um upload multiplo de imagens mas quiando chego na geraçao de miniaturas esta dando o seguinte erro: Warning: imagecreatefromjpeg(/tmp/phpAsMhcl) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 50 Segue o código. <b>Envio das fotos</b><br /> <form action="Multiplos_Uploads.php" method="post" enctype="multipart/form-data"> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="submit" value="OK"/> </form> <? $dir="teste_upload/normal/"; $dir_mini="teste_upload/mini/"; $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; $Caminho = $dir . $Nome; $Caminho_mini = $dir_mini . $Nome; if (!$Nome) { echo 'Você não enviou nada na posição' . ($i+1) . '<br/>'; } else { if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Tipo)) { echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else { if(move_uploaded_file($Tmpname, $Caminho)) { echo 'Foto ' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; ///cria a miniatura e faz io move_uploaded_file //IMAGEM A SER ABERTA $imagem = $Tmpname; //NOME DO ARQUIVO DA MINIATURA Igual o nome da original $imagem_gerada = $Nome; //CRIA UMA NOVA IMAGEM $imagem_orig = imagecreatefromjpeg($imagem); //LARGURA $pontoX = ImagesX($imagem_orig); //ALTURA $pontoY = ImagesY($imagem_orig); //DEFINE OS PARÂMETROS DA MINIATURA $largura = 150; $altura = ($pontoY * $largura) / $pontoX; //CRIA O THUMBNAIL $imagem_fin = imagecreatetruecolor($largura, $altura); //COPIA A IMAGEM ORIGINAL PARA DENTRO imagecopyresampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY); //SALVA A IMAGEM imagejpeg($imagem_fin, "$dir_mini/".$imagem_gerada,100); //LIBERA A MEMÓRIA imagedestroy($imagem_orig); imagedestroy($imagem_fin); } else // Erro no envio { echo 'Não foi possível enviar a foto' . ($i+1) . '<br/>'; } } } } //FIM DO FOR ?> alguém pode me dar uma luz? Grato!
  19. Carlos Rocha

    Preg_match

    Bom pesoal. Consegui resolvar parte do problema. Agora, gostaria de pedir voces que ohasse por favor o script abaixo onde, na hora que chega o momento de gera uma miniaturta da imagem enviada por upload, ai dá o seguinte erro : Warning: imagecreatefromjpeg(/tmp/phpfcthJD) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /home/dinamica/public_html/teste_upload/Multiplos_Uploads.php on line 51 Esis o código <b>Envio das fotos</b><br /> <form action="Multiplos_Uploads.php" method="post" enctype="multipart/form-data"> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="file" name="fotos[]"><br /> <input type="submit" value="OK"/> </form> <? $dir="teste_upload/normal/"; $dir_mini="teste_upload/mini/"; $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; $Caminho = $dir . $Nome; $Caminho_mini = $dir_mini . $Nome; if (!$Nome) { echo 'Você não enviou nada na posição' . ($i+1) . '<br/>'; } else { if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Tipo)) { echo 'O arquivo ' . ($i+1) . ' não é um arquivo válido.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else { if(move_uploaded_file($Tmpname, $Caminho)) { echo 'Foto ' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; ///cria a miniatura e faz io move_uploaded_file //IMAGEM A SER ABERTA $imagem = $Tmpname; //NOME DO ARQUIVO DA MINIATURA Igual o nome da original $imagem_gerada = $Nome; //CRIA UMA NOVA IMAGEM $imagem_orig = ImageCreateFromJPEG($imagem); //LARGURA $pontoX = ImagesX($imagem_orig); //ALTURA $pontoY = ImagesY($imagem_orig); //DEFINE OS PARÂMETROS DA MINIATURA $largura = 150; $altura = ($pontoY * $largura) / $pontoX; //CRIA O THUMBNAIL $imagem_fin = ImageCreateTrueColor($largura, $altura); //COPIA A IMAGEM ORIGINAL PARA DENTRO ImageCopyResampled($imagem_fin, $imagem_orig, 0, 0, 0, 0, $largura+1, $altura+1, $pontoX, $pontoY); //SALVA A IMAGEM ImageJPEG($imagem_fin, "$dir_mini/".$imagem_gerada,100); //LIBERA A MEMÓRIA ImageDestroy($imagem_orig); ImageDestroy($imagem_fin); } else // Erro no envio { echo 'Não foi possível enviar a foto' . ($i+1) . '<br/>'; } } } } //FIM DO FOR ?>
  20. Carlos Rocha

    Preg_match

    Nova situação agora. Mesmo usando no script abaixo as funções Copy ou move_uploadedfiles, tanto faz, o resultado é o mesmo. Só da certo se eu colocar apenas o nome da imagem. Caso eu coloque o nome do diretório que quero colocar a imagem ai não faz o upload. Segue: <form action="tt.php" method="post" enctype="multipart/form-data"> <b>Envio das fotos</b><br /> <input type="file" name="fotos[]"><br /> <input type="submit" value="OK"/> </form> <? $dir="img/"; $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; ////////////////////////// if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Fotos['type'])) { if(copy($Tmpname, $Nome)) // aqui, se eu colocar a variavel $Caminho o upload não vai. //if(move_uploaded_file($Tmpname, $Nome)) { echo 'Foto #' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else // Erro no envio { echo 'Não foi possível enviar a foto #' . ($i+1) . '<br/>'; } } else { echo "Erro"; } } //FIM DO FOR ?> image/gif img/Fim de Ano (6).gif img/ gif Fim de Ano (6).gif C:\Windows\Temp\phpD12B.tmp
  21. Carlos Rocha

    Preg_match

    Bom, descobri parte do erro. Porem agora preciso usar a função mas o resultado é a criação de um arquivo sem extensão e nem pasta é. O que será que esta errado: <form action="tt.php" method="post" enctype="multipart/form-data"> <b>Envio das fotos</b><br /> <input type="file" name="fotos[]"><br /> <input name="MAX_FILE_SIZE" type="hidden" value="1"> <input type="submit" value="OK"/> </form> <? $dir="img/"; $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++){ $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; /////////////////////// print $Nome."<br>"; print $Tamanho."<br>"; print $Tipo."<br>"; print $Tmpname."<p>"; ////////////////////////// if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $Fotos['type'])) { echo "OPA"."<br>"; echo $Fotos['type'][$i]."<br>"; } else { echo "IIIIIIIIII"."<br>"; echo $Fotos['type'][$i]."<br>"; } ////////////////////////// $Caminho = $dir . $Nome; print $Caminho."<br>"; if(move_uploaded_file($Tmpname, $Caminho)) { echo 'Foto #' . ($i+1) . ' enviada.<br/>'; // Faz contagem de enviada com sucesso $Conta++; } else // Erro no envio { // $i+1 porque $i começa em zero echo 'Não foi possível enviar a foto #' . ($i+1) . '<br/>'; } } //FIM DO FOR ?>
  22. Carlos Rocha

    Preg_match

    Ola pessoal, Estou começando a me preparar para fazer uploads de varias imagens com patch no Banco mas estou me travando na verificação da extensão. O que eu queria era ver se na matriz (array) do campo file que envia "n" fotos ( ou imagens), há extensões validas. Ou seja, Se o aqruivo que enviei tem extensão valida. No (pequeno) script que estou fazendo poara teste, só passa a extensão gif. Png, jpg e jpeg não passam. Será que estou fazendo errado? <form action="tt.php" method="post" enctype="multipart/form-data"> <b>Envio das fotos</b><br /> <input type="file" name="fotos[]"><br /> <input type="submit" value="OK"/> </form> <? $Fotos = $_FILES['fotos']; //$Fotos = isset($_FILES["fotos"]) ? $_FILES["fotos"] : FALSE; for($i = 0; $i < sizeof($Fotos['name']); $i++) { $Nome = $Fotos['name'][$i]; $Tamanho = $Fotos['size'][$i]; $Tipo = $Fotos['type'][$i]; $Tmpname = $Fotos['tmp_name'][$i]; print $Nome."<br>"; print $Tamanho."<br>"; print $Tipo."<br>"; print $Tmpname."<p>"; print preg_match('/^image\/(gif|jpeg|jpg|png)$/', $Tipo)."<br>"; preg_match('/^image\/(gif|jpeg|jpg|png)$/', $Tipo, $Ext)."<br>"; print $Ext[1]."<br>"; if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$",$Ext[1])) { print "Ok"; } else { print "iiiiiii"; } } //FIM DO FOR ?>
  23. Puxa, ainda não testei. Mas, será que essa alteração que você fez irá fazer com que após a Redecard vslidar os dados do cartão ele enviar os dados para a pagina de retorno na mesma página em vez de abrir outra pagina ou é apenas ua questão de "Enxugar" o código?
  24. Continuo não entendendo! Comente por favor! pelo que entedi, a unica alteraçaõ que você fez foi tirar a declaração das variaveis em $_Get no inciio para import_request_variables('gpc');
×
×
  • Criar Novo...