Ir para conteúdo
Fórum Script Brasil

Carlos Rocha

Membros
  • Total de itens

    1.300
  • Registro em

  • Última visita

Tudo que Carlos Rocha postou

  1. Puxa, ainda não cosnegui resolver!
  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. 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];?>
  4. 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
  5. Carlos Rocha

    Validar PNG

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

    Validar PNG

    Essa função não existe
  7. 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?
  8. 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?
  9. Pessoal, ainmda não consegui resolver.; Se alguém puder me ajudar
  10. 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 ?>
  11. Passei para 777 e continua Unabled to Open
  12. Permissão 755 Esta gravando normalmente jpeg. Apenas gif, png não gravam
  13. 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?
  14. 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?
  15. 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.
  16. 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!
  17. 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 ?>
  18. 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
  19. 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 ?>
  20. 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 ?>
  21. 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?
  22. 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');
  23. Olá pessoal. Bom dia a todos! Estou com uma dúvida tremenda com relação à REDECARD. Seguinte: O processo de cobrança via cartão se faz em 5 fazes 1 - site -> reecard - aqui o site envia o form onde estaõ as escohas do clinte de qual cartão escoheu, se mastercard ou diners, valor da nota, código do estabelecimento, dentre outros. Após esse passo, ainda no passo 1, abre a pagina da redecard onde o comprador irá digitar os dados do seu cartão. 2 - reecard -> site - aqui a redecard, de posse desses dados eniados pelo site, vereifica tambem os dados do cartão do comprador e, envia o código de confirmação para o site. 3 - site -> reecard - aqui, o site, de posso do código de confiormação, verififica sua concordancia e dispara para a redecard outros dados solicitados. 4 - reecard -> site - aqui, redecard, entende que, tanto a loja quanto a redecard, aprovaram (ou não) a transaçao e envia o código de aprovaçao (ou não) para que o site reenvie esse código à redecard em sua pagina de exibir cupon. 5 - site -> reecard - aqui, o site reenvia esse código à redecard em sua pagina de exibir cupon e a redecard ()em seu site e em forma de pop'up, gera o cupon de aprovação (ou não) para o cliente) Bom, onde esta a minha dúvida? Então, O pessoal do forum fala muito de um módulo de conexão com a redecard para fazer esses procedimentos, eu até achei um desses módulo mas não consegui configurar (ou pelo menos entender). Então o que eu fiz: Bom, fiz um código que fizesse o serviço (e esta dando certo) mas com um detalhe que esta me deixando digamos, como programador, não muito feliz. O que é? Vamos lá. Passo 1 -> ok, após abertura da tela de captura, onde o cliente (comprador) coloca os dados do cartão, a redecard começa a validar o dados do cartão e, (aqui esta meu problema {mas funciona direito}) nesse momento, em vez da redecarsd enviar os dasdos do passo 2 para o site na mesma pagina, ela esta abrindo outra janela (não é popup não), e, a página onde estava senddo validado os dados do cartão, fica la toda em branco. Passo 2 -> ok Passo 3 -> ok Passo 4 -> ok Passo 5 -> ok Bom, dizem que esse problema da pagina ficar em branco, usando modulo, não ocorre pois a redecard trata os dadsos com, o módulo. Mas não tenho a mínima ideia de como implantar isso. Segue o código que estou usando: <? //Abrindo conexao com o banco de dados $MySQL = new TMySQL(); $MySQL->connect($host, $db, $user, $pass); $DATA = $_GET['DATA'];//8 Data da transação $NUMPEDIDO = $_GET['NUMPEDIDO']; //16 Número do Pedido $NR_CARTAO = $_GET['NR_CARTAO']; //16 Número do Cartão mascarado $ORIGEM_BIN = $_GET['ORIGEM_BIN']; //3 Código de Nacionalidade do Emissor $NUMAUTOR = $_GET['NUMAUTOR']; //6 Número de Autorização $NUMCV = $_GET['NUMCV']; //9 Número do Comprovante de Venda (NSU) $NUMAUTENT = $_GET['NUMAUTENT']; //27 Número de Autenticação $NUMSQN = $_GET['NUMSQN']; //12 Número seqüencial único $NUMPRG = $_GET['NUMPRG']; //1 Número correspondente ao programa de captura utilizado if ( !isset($_REQUEST['CODRET']) ) { $consulta=$MySQL->query("select PRECO_TOTAL from pedidos_cliente where ID_PEDIDO_CLIENTE=$NUMPEDIDO"); list($PRECO_TOTAL) = mysql_fetch_array($consulta); $url= "http://ecommerce.redecard.com.br/pos_virtual/confirma.asp?" ."DATA=$DATA&" ."TRANSACAO=203&" ."TRANSORIG=04&" ."PARCELAS=00&" ."FILIACAO=30355141&" ."DISTRIBUIDOR=&" ."TOTAL=$PRECO_TOTAL&" // ."TOTAL=0.01&" ."NUMPEDIDO=$NUMPEDIDO&" ."NUMAUTOR=$NUMAUTOR&" ."NUMCV=$NUMCV&" ."NUMSQN=$NUMSQN&" ."ORIGEM_BIN=$ORIGEM_BIN&" ."NUMPRG=$NUMPRG"; //AQUI já FOI ENVIADA A SEGUNDA FASE3 E AGORA ESTA RECEBENDO O CÓDIGO DE CONFIRMAÇÃO. //A função file_get_contents irá enviar a url para a Redecard sem redirecionar(sair da NatureLavie) e, ao mesdo tempo, receber o rerorno da Redecdard $file = file_get_contents($url); $file = parse_str($file); print "<table align='center'"; print "<tr><td align='center'>"; print "<br>"; print "Resultado da transaçao pela Redecard:"; print "<br>"; print "$MSGRET"; print "</td></tr>"; print "</table>"; $URLCupom = "https://ecommerce.redecard.com.br/pos_virtual/cupom.asp?" ."DATA=$_GET[DATA]&" ."TRANSACAO=201&" ."NUMAUTOR=$_GET[NUMAUTOR]&" ."NUMCV=$_GET[NUMCV]&" ."LANGUAGE=1"; if ($_REQUEST['CODRET']==0) { ?> &lt;script LANGUAGE=javascript> <!-- vpos=window.open('<? echo $URLCupom; ?>','vpos','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no,copyhistory=no,width=280,height=440'); //--> </SCRIPT> <? } else if (($_REQUEST['CODRET']>0) and ($_REQUEST['CODRET'] < 50) ){ print "<table align='center'"; print "<tr><td align='center'>"; print "<br>"; print "Resultado da transaçao pela Redecard:"; print "<br>"; print $_REQUEST['MSGRET']; print "</td></tr>"; print "</table>"; } }//fim do se não vier codigo de erro else if ($_REQUEST['CODRET'] > 49) { print "<table align='center'"; print "<tr><td align='center'>"; print "<br>"; print "Resultado da transaçao pela Redecard:"; print "<br>"; print $_REQUEST['MSGRET']; print "</td></tr>"; print "</table>"; } ?> FICO MUITO AGRADERCIDO AO PROFISSIONAL (OU ESTUDANTE) QUE POUDER ME AJUDAR A SAIER DESSA!
  24. Ficou mais enxuto assim: <? //Abrindo conexao com o banco de dados $MySQL = new TMySQL(); $MySQL->connect($host, $db, $user, $pass); $DATA = $_GET['DATA'];//8 Data da transação $NUMPEDIDO = $_GET['NUMPEDIDO']; //16 Número do Pedido $NR_CARTAO = $_GET['NR_CARTAO']; //16 Número do Cartão mascarado $ORIGEM_BIN = $_GET['ORIGEM_BIN']; //3 Código de Nacionalidade do Emissor $NUMAUTOR = $_GET['NUMAUTOR']; //6 Número de Autorização $NUMCV = $_GET['NUMCV']; //9 Número do Comprovante de Venda (NSU) $NUMAUTENT = $_GET['NUMAUTENT']; //27 Número de Autenticação $NUMSQN = $_GET['NUMSQN']; //12 Número seqüencial único $NUMPRG = $_GET['NUMPRG']; //1 Número correspondente ao programa de captura utilizado if ( !isset($_REQUEST['CODRET']) ) { $consulta=$MySQL->query("select PRECO_TOTAL from pedidos_cliente where ID_PEDIDO_CLIENTE=$NUMPEDIDO"); list($PRECO_TOTAL) = mysql_fetch_array($consulta); $url= "http://ecommerce.redecard.com.br/pos_virtual/confirma.asp?" ."DATA=$DATA&" ."TRANSACAO=203&" ."TRANSORIG=04&" ."PARCELAS=00&" ."FILIACAO=30355141&" ."DISTRIBUIDOR=&" ."TOTAL=$PRECO_TOTAL&" // ."TOTAL=0.01&" ."NUMPEDIDO=$NUMPEDIDO&" ."NUMAUTOR=$NUMAUTOR&" ."NUMCV=$NUMCV&" ."NUMSQN=$NUMSQN&" ."ORIGEM_BIN=$ORIGEM_BIN&" ."NUMPRG=$NUMPRG"; //AQUI já FOI ENVIADA A SEGUNDA FASE3 E AGORA ESTA RECEBENDO O CÓDIGO DE CONFIRMAÇÃO. //A função file_get_contents irá enviar a url para a Redecard sem redirecionar(sair da NatureLavie) e, ao mesdo tempo, receber o rerorno da Redecdard $file = file_get_contents($url); $file = parse_str($file); print "<table align='center'"; print "<tr><td align='center'>"; print "<br>"; print "Resultado da transaçao pela Redecard:"; print "<br>"; print "$MSGRET"; print "</td></tr>"; print "</table>"; $URLCupom = "https://ecommerce.redecard.com.br/pos_virtual/cupom.asp?" ."DATA=$_GET[DATA]&" ."TRANSACAO=201&" ."NUMAUTOR=$_GET[NUMAUTOR]&" ."NUMCV=$_GET[NUMCV]&" ."LANGUAGE=1"; if ($_REQUEST['CODRET']==0) { ?> <script LANGUAGE=javascript> <!-- vpos=window.open('<? echo $URLCupom; ?>','vpos','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=auto,resizable=no,copyhistory=no,width=280,height=440'); //--> </SCRIPT> <? } else if (($_REQUEST['CODRET']>0) and ($_REQUEST['CODRET'] < 50) ){ print "<table align='center'"; print "<tr><td align='center'>"; print "<br>"; print "Resultado da transaçao pela Redecard:"; print "<br>"; print $_REQUEST['MSGRET']; print "</td></tr>"; print "</table>"; } }//fim do se não vier codigo de erro else if ($_REQUEST['CODRET'] > 49) { print "<table align='center'"; print "<tr><td align='center'>"; print "<br>"; print "Resultado da transaçao pela Redecard:"; print "<br>"; print $_REQUEST['MSGRET']; print "</td></tr>"; print "</table>"; } ?>
×
×
  • Criar Novo...