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

problemas para redimensionar imagem


Jacksonrs

Pergunta

pessoal está dando o seguinte erro quando tento diminuir uma foto

bool(false)

Warning: imagesx(): supplied argument is not a valid Image resource in on line 23

Warning: imagesy(): supplied argument is not a valid Image resource in on line 24

o script tá assim

$img      = imagecreatefromjpeg($_POST["foto1"]);
var_dump ($img);
# Informações originais sobre a imagem
$largurao = imagesx ($img); // largura original
$alturao  = imagesy ($img); // altura original
$larguran = 100; // largura nova
$alturan  = 100; // altura nova

#Criando a nova imagem
$nova     = imagecreatetruecolor ($larguran, $alturan);
imagecopyresized ($nova, $img, 0, 0, 0, 0, $larguran, $alturan, $largurao, $alturao);
imagejpeg ($nova);

imagedestroy ($nova);
imagedestroy ($img);

ah o Gd está instalado.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Você traduziu a mensgaem de erro? A fonte não é uma imagem válidas... você está enviando essa imagem de um formulário e que usá-la? Lembre-se que os uploads são geridos por $_FILES e não pro $_POST, dê uma lida no manual....

Link para o comentário
Compartilhar em outros sites

  • 0

não curto colocar o codigo porque sei que vocês não tem um tempão pra analizar codigo mais acho que esse script vai servir pra todos então ai vai o codigo dá pagina derrepente ajuda.

<?php
if ($Submit == true)
{
  include('conecta.php');
  
  //VERIFICA SE JÁ EXISTE O CÓDIGO
  $sql = mysql_query("select codigo from teste where codigo = '$codigo'");
  $quantidade = mysql_num_rows($sql);
  if ($quantidade > 0)
  {
    echo "<script> alert('Já existe algo com este Código.');</script>";
    echo '<a href="java script:history.back(-1)"><font size="3" face="Arial"><strong>Clique aqui 
para voltar</strong></font></a>';
    exit();
  }

  //VERIFICA SE O TAMANHO ESTÁ DE ACORDO
 # Informa a imagem a ser redimensionada
//header("Content-type: image/jpeg");
$img      = imagecreatefromjpeg($_FILES["foto1"]);
print_r($_FILES);


# Informações originais sobre a imagem
$largurao = imagesx ($img); // largura original
$alturao  = imagesy ($img); // altura original
$larguran = 100; // largura nova
$alturan  = 100; // altura nova

#Criando a nova imagem
$nova     = imagecreatetruecolor ($larguran, $alturan);
imagecopyresized ($nova, $img, 0, 0, 0, 0, $larguran, $alturan, $largurao, $alturao);
imagejpeg ($nova);
  
  
   $destino = '/fotos/';

   if ($foto_p <> "")
   {
      // FOTO MENOR
      // o arquivo é gerado com um nome que nunca se repetirá 
    
      $arquivo = md5($codigo.$foto_p.date("d-m-Y").md5($_POST["foto_p"])).strstr(basename($_FILES["foto_p"]["name"]), '.');
      $foto_p = $destino.$arquivo;
    
      // arquivo com o local de origem
      $orig = $_FILES["foto_p"]["tmp_name"];
    
      // copia o arquivo para o destino    
        if (!copy($orig, $foto_p)) {
            echo "Houve um erro ao enviar as fotos (fotop) para o Servidor. ";
            exit();
            }          
        $urlp = $destino.basename($foto_p);        
        // --- FIM ---------------------------------------------
    }
    
    
    
      if ($nova <> "")
    {
        
        
        
        $arquivo = md5($codigo.$nova.date("d-m-Y").md5($_POST["nova"])).strstr(basename($_FILES["nova"]["name"]), '.');
        $nova = $destino.$arquivo;
    
        // arquivo com o local de origem
        $orig = $_FILES["nova"]["tmp_name"];
    
    
        // copia o arquivo para o destino    
        if (!copy($orig, $nova)) {
            echo "Houve um erro ao enviar as fotos (foto1) para o Servidor. ";
            exit();
            }          
        $url1 = $destino.basename($nova);
    }
    
      
    
    //---------------------FIM------------------------------------------
    
    $codigo = htmlentities($codigo);
    $nome = htmlentities($nome);
    $descricao = htmlentities($descricao);
    $dimencoes = htmlentities($dimencoes);
    $setor = htmlentities($setor);
    
    if ($preço <> "")
      {
        $preço = str_replace(".", "", $preço);
        $preço = str_replace(",", ".", $preço);
      }
    
    $urlp = $urlp;
    $url1 = $url1;
    
    
    
    //insere no banco
    mysql_query("insert into teste(codigo, nome, descricao, dimencoes, setor, preço, foto_p, foto1, data) values ('$codigo', '$nome', '$descricao', '$dimencoes', '$setor', '$preço', '$foto_p', '$nova', now())") or die(mysql_error());
    mysql_close($conexao);
        header("location: ok.htm");
}
else
{
?>

Editado por Jacksonrs
Link para o comentário
Compartilhar em outros sites

  • 0

Galera agora falta pokinho dá uma ajuda ai olha só eu já consigo diminuir mais é o seguinte

imagejpeg ($nova);
ele cria a imagem pequeninha na tela dai não consegue chegar ao final do script que é isso
// copia o arquivo para o destino    
        if (!copy($nova, $foto1)) {
            echo "Houve um erro ao enviar as fotos (foto1) para o Servidor.";
            exit();
            }

queria saber como copio ela pra uma pasta temporaria e depois puxar ela pra copiar pra onde tem que ir ?? só falta isso. abr.

Editado por Jacksonrs
Link para o comentário
Compartilhar em outros sites

  • 0

eu usava este script pra redimenciona foto

if($foto_name!=""){

unlink("user/$fotu");

$pieces = explode(".", $foto_name);

$ext=$pieces[1];

$tempo=date(YMDHMShms);

$fot="$foto_name"."$tempo";

$fot2=md5($fot);

$fotmed="user-"."$fot2".".$ext";

@copy("$foto" , "user/$fotmed")

or die("Couldn't Upload Your File.");

$imagemb = "user/$fotmed";

$y = getimagesize("$imagemb");

$largurab = $y[0];

$alturab=$y[1];

$imagem_origb = ImageCreateFromJPEG($imagemb);

$pontoXb = ImagesX($imagem_origb);

$pontoYb = ImagesY($imagem_origb);

$imagem_finb = ImageCreateTrueColor(80, 60);

$a= 80;

$b= ($alturab.$a)/$largurab;

if($a<80){ $a="80"; }

if($b<60){ $b="60"; }

ImageCopyResampled($imagem_finb, $imagem_origb, 0, 0, 0, 0, $a, $b, $largurab, $alturab);

ImageJPEG($imagem_finb, $imagemb);

ImageDestroy($imagem_origb);

ImageDestroy($imagem_finb);

$img="$fotmed";

}

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...