Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcellorg

Salvar img no servidor

Recommended Posts

Galera me ajudem por favor...

no meu micro esse script funciona no windows... qdo jogo no servidor linux ele não da erro, mas não salva a imagem..

 

alguem poderia me ajudar por favor

 

 

<?php

 

function CriaImg($ImgOrigem,$ImgDestino,$Larg,$Alt,$Fundo,$FundoCor = array(R=>255,G=>255,B=>255),$Qualidade=72)

{

if (file_exists($ImgOrigem) && isset($ImgDestino)) {

// path info

$InfoImg = pathInfo($ImgDestino);

 

// Pega a altura e a largura da imagem

$ImgTam = getImageSize($ImgOrigem);

 

// Pega o tamanho da img para dimensionar sem ImgDestinoorcer - $ImgDestinoSize[0] = width, $ImgDestinoSize[1] = height

$ImgOrigemRatio = $ImgTam[0]/$ImgTam[1]; // width/height ratio

$ImgDestinoRatio = $Larg/$Alt;

 

if ($ImgDestinoRatio > $ImgOrigemRatio) {

$ImgDestinoSize[1] = $Alt;

$ImgDestinoSize[0] = $Alt * $ImgOrigemRatio;

 

// Centralizar img

$CentroLarg = round(($Larg / 2) - ($ImgDestinoSize[0] / 2));

$CentroAlt = "0";

 

}else {

$ImgDestinoSize[0] = $Larg;

$ImgDestinoSize[1] = $Larg / $ImgOrigemRatio;

 

// Centralizar img

$CentroLarg = "0";

$CentroAlt = round(($Alt / 2) - ($ImgDestinoSize[1] / 2));

}

 

// path rectification

if ($InfoImg['extension'] == "gif") {

$ImgDestino = substr_replace($ImgDestino, 'jpg', -3);

}

 

// Se for Thumb ele coloca um fundo para ficar igual

if($Fundo =="S")

{

$ImgDestinoImage = imagecreatetruecolor($Larg,$Alt); // Cria o tamanho do fundo

$CorFundo = ImageColorAllocate($ImgDestinoImage,$FundoCor[R],$FundoCor[G],$FundoCor); // Coloca a cor do fundo

ImageFilledRectangle($ImgDestinoImage ,0,0,$Larg,$Alt,$CorFundo); // Cria um retangulo com fundo/cor

$CentroX = $CentroLarg;

$CentroY = $CentroAlt;

}else{

$ImgDestinoImage = imagecreatetruecolor($ImgDestinoSize[0] ,$ImgDestinoSize[1]);

$CentroX = "0";

$CentroY = "0";

}

 

 

// Verifica a extanção

switch ($ImgTam[2]) {

case 1: //GIF

$ImgOrigemImage = imageCreateFromGif($ImgOrigem);

break;

 

case 2: //JPEG

$ImgOrigemImage = imageCreateFromJpeg($ImgOrigem);

break;

 

case 3: //PNG

$ImgOrigemImage = imageCreateFromPng($ImgOrigem);

break;

 

default:

return false;

break;

}

 

// Copia a img para dentro do fundo

imageCopyResampled($ImgDestinoImage, $ImgOrigemImage, $CentroX, $CentroY, 0, 0,$ImgDestinoSize[0] ,$ImgDestinoSize[1],$ImgTam[0],$ImgTam[1]);

 

// Gera a Imagem

switch ($ImgTam[2]) {

case 1:

case 2:

imagejpeg($ImgDestinoImage,$ImgDestino,$Qualidade);

break;

 

case 3:

imagepng($ImgDestinoImage,$ImgDestino);

break;

}

return true;

}

else {

return false;

}

}

 

CriaImg("D:\\Fotos\\Fotos Noivado\\81.JPG","images/fotos/fe.gif","100","100",N);

//CriaImg("images/fotos/3.jpg","images/fotos/thumb/3.gif","90","80",S, array(R=>255,G=>0,B=>0));

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo ja fiz de tudo agora coloquei uma img raiz e nada..

de uma olhada

 

da o seguinte error

 

Warning: imagejpeg(): Unable to open 'xx.jpg' for writing in /home/classifi/public_html/cria_imagem.php on line 78

 

 

<?php

function CriaImg($ImgOrigem,$ImgDestino,$Larg,$Alt,$Fundo,$FundoCor = array(R=>255,G=>255,B=>255),$Qualidade=72)

{

if (file_exists($ImgOrigem) && isset($ImgDestino)) {

// path info

$InfoImg = pathInfo($ImgDestino);

 

// Pega a altura e a largura da imagem

$ImgTam = getImageSize($ImgOrigem);

 

// Pega o tamanho da img para dimensionar sem ImgDestinoorcer - $ImgDestinoSize[0] = width, $ImgDestinoSize[1] = height

$ImgOrigemRatio = $ImgTam[0]/$ImgTam[1]; // width/height ratio

$ImgDestinoRatio = $Larg/$Alt;

 

if ($ImgDestinoRatio > $ImgOrigemRatio) {

$ImgDestinoSize[1] = $Alt;

$ImgDestinoSize[0] = $Alt * $ImgOrigemRatio;

 

// Centralizar img

$CentroLarg = round(($Larg / 2) - ($ImgDestinoSize[0] / 2));

$CentroAlt = "0";

 

}else {

$ImgDestinoSize[0] = $Larg;

$ImgDestinoSize[1] = $Larg / $ImgOrigemRatio;

 

// Centralizar img

$CentroLarg = "0";

$CentroAlt = round(($Alt / 2) - ($ImgDestinoSize[1] / 2));

}

 

// path rectification

if ($InfoImg['extension'] == "gif") {

$ImgDestino = substr_replace($ImgDestino, 'jpg', -3);

}

 

// Se for Thumb ele coloca um fundo para ficar igual

if($Fundo =="S")

{

$ImgDestinoImage = imagecreatetruecolor($Larg,$Alt); // Cria o tamanho do fundo

$CorFundo = ImageColorAllocate($ImgDestinoImage,$FundoCor[R],$FundoCor[G],$FundoCor); // Coloca a cor do fundo

ImageFilledRectangle($ImgDestinoImage ,0,0,$Larg,$Alt,$CorFundo); // Cria um retangulo com fundo/cor

$CentroX = $CentroLarg;

$CentroY = $CentroAlt;

}else{

$ImgDestinoImage = imagecreatetruecolor($ImgDestinoSize[0] ,$ImgDestinoSize[1]);

$CentroX = "0";

$CentroY = "0";

}

 

 

// Verifica a extanção

switch ($ImgTam[2]) {

case 1: //GIF

$ImgOrigemImage = imageCreateFromGif($ImgOrigem);

break;

 

case 2: //JPEG

$ImgOrigemImage = imageCreateFromJpeg($ImgOrigem);

break;

 

case 3: //PNG

$ImgOrigemImage = imageCreateFromPng($ImgOrigem);

break;

 

default:

return false;

break;

}

 

// Copia a img para dentro do fundo

imageCopyResampled($ImgDestinoImage, $ImgOrigemImage, $CentroX, $CentroY, 0, 0,$ImgDestinoSize[0] ,$ImgDestinoSize[1],$ImgTam[0],$ImgTam[1]);

 

// Gera a Imagem

switch ($ImgTam[2]) {

case 1:

case 2:

imagejpeg($ImgDestinoImage,$ImgDestino,$Qualidade);

break;

 

case 3:

imagepng($ImgDestinoImage,$ImgDestino);

break;

}

return true;

}

else {

return false;

}

}

 

// chamada

CriaImg("a.jpg","xx.jpg","100","100",N);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.