Eu tenho um site (www.meusite.com.br), nele estou criando uma Área Administrativa (adm.meusite.com.br), onde nessa área eu posso cadastrar, alterar e apagar reportagens (que serão publicadas no www.meusite.com.br), produtos (que serão publicadas no shop.meusite.com.br), entre outras coisas.
Só que toda imagem que é cadastrada nessa área é colocada no pasta adm.meusite.com.br/img, exemplo:
Ao cadastrar uma reportagem, vou colocar as imagens dessa reportagem no adm.meusite.com.br/img/reportagem/[CODIGO_REPORTAGEM]/;
Ao cadastrar um produto, coloco as imagens do produto no adm.meusite.com.br/img/shop/[CODIGO_PRODUTO]/;
Ao ir buscar essa imagem que está no adm.meusite.com.br do shop.meusite.com.br não é exibida. Exemplo, as imagens de uma camisas do meu site estam no adm.meusite.com.br/img/shop/1/camisa_vermelha.jpg. Eu não consigo abrir essa imagem no shop.meusite.com.br, ainda digo mais pelo thumb - shop.meusite.com.br/img/thumb.php?c=1&f=camisa_vermelha.jpg. Lembrando que o thumb.php é exatamente o código que eu passei abaixo.
thumb.php
<?
if($_GET['c'] && $_GET['f']){
define(PATH_IMG, "http://adm.meusite.com.br/img/shop/".$_GET['c']."/");
}
define(MAX_WIDTH, 76);
define(MAX_HEIGHT, 57);
# Pega onde está a imagem
$image_file = str_replace('..', '', $_GET['f']);
$image_path = PATH_IMG . '/'.$image_file;
# Carrega a imagem
$img = null;
$extensao = strtolower(end(explode('.', $image_path)));
if ($extensao == 'jpg' || $extensao == 'jpeg') {
$img = @imagecreatefromjpeg($image_path);
} else if ($extensao == 'png') {
$img = @imagecreatefrompng($image_path);
// Se a versão do GD incluir suporte a GIF, mostra...
} else if ($extensao == 'gif') {
$img = @imagecreatefromgif($image_path);
}
// Se a imagem foi carregada com sucesso, testa o tamanho da mesma
if ($img) {
// Pega o tamanho da imagem e proporção de resize
$width = imagesx($img);
$height = imagesy($img);
$scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);
// Se a imagem é maior que o permitido, encolhe ela!
if ($scale < 1) {
$new_width = floor($scale*$width);
$new_height = floor($scale*$height);
// Cria uma imagem temporária
$tmp_img = imagecreatetruecolor($new_width, $new_height);
// Copia e resize a imagem velha na nova
imagecopyresampled($tmp_img, $img, 0, 0, 0, 0,
$new_width, $new_height, $width, $height);
imagedestroy($img);
$img = $tmp_img;
}
}
// Cria uma imagem de erro se necessário
if (!$img) {
$img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
imagecolorallocate($img,204,204,204);
$c = imagecolorallocate($img,153,153,153);
$c1 = imagecolorallocate($img,0,0,0);
imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c);
imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c);
imagestring($img, 2, 12, 55, 'Cadastre Foto!',$c1 );
}
// Mostra a imagem
header('Content-type: image/jpeg');
imagejpeg($img);
?>
Deixo ai pra vocês poderem me dar uma mãozinha! Abraço
Pergunta
Gabriel D'Emery
Vou explicar o que está acontecendo!
Eu tenho um site (www.meusite.com.br), nele estou criando uma Área Administrativa (adm.meusite.com.br), onde nessa área eu posso cadastrar, alterar e apagar reportagens (que serão publicadas no www.meusite.com.br), produtos (que serão publicadas no shop.meusite.com.br), entre outras coisas.
Só que toda imagem que é cadastrada nessa área é colocada no pasta adm.meusite.com.br/img, exemplo:
- Ao cadastrar uma reportagem, vou colocar as imagens dessa reportagem no adm.meusite.com.br/img/reportagem/[CODIGO_REPORTAGEM]/;
- Ao cadastrar um produto, coloco as imagens do produto no adm.meusite.com.br/img/shop/[CODIGO_PRODUTO]/;
Ao ir buscar essa imagem que está no adm.meusite.com.br do shop.meusite.com.br não é exibida. Exemplo, as imagens de uma camisas do meu site estam no adm.meusite.com.br/img/shop/1/camisa_vermelha.jpg. Eu não consigo abrir essa imagem no shop.meusite.com.br, ainda digo mais pelo thumb - shop.meusite.com.br/img/thumb.php?c=1&f=camisa_vermelha.jpg. Lembrando que o thumb.php é exatamente o código que eu passei abaixo.thumb.php
Deixo ai pra vocês poderem me dar uma mãozinha! Abraço
Editado por Gabriel D'EmeryLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.