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

Galeria Simples De Fotos


Scartazzini

Pergunta

criei um sistema de galeria simples.

inserir_galeria.php

ele insere no banco de dados 'nome' e 'data' do evento e automaticamente cria uma pasta com o nome de 'nome'.

upload.php

um formulário para upload de imagens, o destino é um select listando os 'nome' do banco de dados, ou seja, envia para a pasta escolhida.

galeria.php

ele lista a linha 'nome' do banco de dados, os links ficam ver.php?galeria=idgaleria.

ver.php

ele lista o nome do evento e a data. listaria também as imagens, mas o arquivo thumbs fica na raiz e não não dentro de cada pasta criada, então não sei como colocar o caminho.

estou postando os códigos da página ver.php e da página thumbs.php para alguém que quiser me ajudar.

ver.php

<?php

//conecta com o banco

require_once('conecta.inc.php');

//Busca pela noticia com referencia ao $id selecionado

if(isset($_GET['galeria'])){

$id = $_GET['galeria']; }

$sql = "SELECT * FROM galeria where idgaleria = $id";

$resultado = mysql_query($sql);

if(!$resultado){

die("Impossível visualizar esta galeria: " . mysql_error() . '<br>');

}

while($row = mysql_fetch_array($resultado)){

$nome = $row['nome'];

$data = $row['data'];

echo "<font face=verdana' size='1'>Nome do Evento: <b>".$nome."</b></font><br>";

echo "<font face='verdana' size='1'>Data do Evento: <b>".$data."</b></font><br><br>";

// Abre o diretório atual para leitura de imagens...

if ($handle = opendir($nome)) {

while (false !== ($file = readdir($handle))) {

// Só carrega as imagens que tiverem extensões esperadas

if (strtolower(substr($file, -4, 4)) == '.jpg' || strtolower(substr($file, -4, 4)) == '.gif' || strtolower(substr($file, -4, 4)) == '.png' || strtolower(substr($file, -5, 5)) == '.jpeg') {

$alt = 'Prime Studio Fitness';

//echo '<a href="'.$nome."/".$file.'" target="_blank"><img src="../thumb.php?'.$file.'" alt="'.$alt.'" width=100 height=90 border=1 /></a>'."\n";

echo '<a href="'.$nome."/".$file.'" target="_blank"><img src="thumb.php?'.$nome."=".$file.'" alt="'.$file.'" /></a>'."\n";

}

}

closedir($handle);

}

}

?>

thumb.php

<?PHP

// path do win2k. no unix, mude de 'd:/path' para '/home/usuario/www'

define('PATH_IMG', '/home/prime/public_html/new/galeria');

define('MAX_WIDTH', 110);

define('MAX_HEIGHT', 100);

# Pega onde está a imagem

$galeria = substr($_SERVER['QUERY_STRING], 0, strpos($_SERVER['QUERY_STRING'], '=));

$image_file = substr($_SERVER['QUERY_STRING], strrpos($_SERVER['QUERY_STRING'], '=));

$image_path = PATH_IMG . "/$galeria/" . $image_file;

//$image_file = str_replace('..', '', $_SERVER['QUERY_STRING]);

//$image_path = PATH_IMG . "/$nome/" . $image_file;

//die($image_path);

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

} elseif ($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

imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

imagedestroy($img);

$img = $tmp_img;

imagejpeg($img,$image_path);

}

}

// 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, 'erro ao carregar imagem', $c1);

}

// Mostra a imagem

header('Content-type: image/jpeg');

imagejpeg($img);

?>

alguém ai sabe o caminho que tenho que colocar?

=\

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Se você tem um identificar para cada festa e esse identificar também é o nome da pasta, então você tem que chamar o identificador nessa linha:

$image_path = PATH_IMG . "/$galeria/" . $image_file;

Eu vi que para $galeria e $image_file você usa:

$galeria = substr($_SERVER['QUERY_STRING'], 0, strpos($_SERVER['QUERY_STRING'], '=));

$image_file = substr($_SERVER['QUERY_STRING], strrpos($_SERVER['QUERY_STRING'], '='));

para definir as variáveis... porque simplesmente não chama o $_GET para pegar os valores (é mais simples)?

Qual o problema $galeria ou $image_file estão vindo vazias? Pois a lógica parece estar ok...

Link para o comentário
Compartilhar em outros sites

  • 0

Apareceu o que seria para ser uma foto aqui... ai eu dei refresh na página e não aparece mais nada... uma coisa que eu notei foi que copiando o endereço do arquivo no servidor, o mesmo dizia que não existia nenhum arquivo...

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