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

Php 5 - Criando miniatura


Carlos Rocha

Pergunta

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!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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.

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,2k
    • Posts
      652k
×
×
  • Criar Novo...