Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá Pessoal,
Venho com uma duvida ainda mais pesada(Cabulosa).
Bem, tenho um gerenciador de eventos, onde realizo o upload de cartazes e fotos.
É gerado o tamanho das fotos e cartaz da forma que eu quero, bem bonitinho e tudo.
Os arquivo são direcionados para a pasta que eu quero, como manda o figurido.
O diaxo é quando quero registrar o nome do arquivo de imagem, no banco de dados.
// Grava os nomes dos thumbnails no BD
$sql2 = "UPDATE eventos SET thcartaz".$num."='".$cartaz_thumb."'"."WHERE dia = '".$dia."' AND mes = '".$mes."' AND ano = '".$ano."' AND lugar = '".$lugar."'"; (isso é um dos arquivos, são 4 tipos)
O arquivo é gerado perfeitamente na pasta, mas nada vai para o banco de dados, na tabela certa que eu fiz.
Se eu colocar na mão grande, ou seja, escrever o nome do arquivo na tabela, ai roda. Então o problema não é com o meu BD.
Só vocês podem me ajudar.
O que estou fazendo de errado?
Segue o codigo...
<?
session_start();
require("verifica.php"); / aqui, inclui o arquivo verifica.php /
/ Conecta ao Banco de Dados /
include 'conexao.php';
?>
<? include 'topo.php'; ?>
<p> </p>// Se não fornecer o local..
if ($_POST['local'] == "" || ($_POST['local'] == "Outro" && $_POST['lugar'] == "")) {
$erro[] = "<p class='erro'>Forneça o local onde será realizado o show!</p>";
}
$skl = mysql_query("
SELECT dia, mes, ano, horario
FROM eventos
WHERE dia='".$_POST['dia']."' AND mes='".$_POST['mes']."' AND ano='".$_POST['ano']."' AND horario='".$_POST['horario']."'
") or die ("<p class='erro'>Ocorreu o seguinte erro:". mysql_error()."</p><p class='voltar'><a href='java script:history.back()'>« Voltar</a></p>"); if($num >= "1"){
$erro[] = "<p class='erro'>Já existe um show neste mesmo horário e neste mesmo local.</p>";
}
// Se o cartaz não for uma imagem..
$cartaz_show= $_FILES['cartaz'];
$count = count($cartaz_show['name']);
for ($i = 0; $i < $count; $i++) {
if ($cartaz_show['name'][$i] != ""){
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $_FILES['cartaz']["type"][$i])) {
$erro[] = "<p class='erro'>Formato inválido. O cartaz deve ser uma imagem JPG, GIF ou PNG.</p>";
}
}
}
// Se a foto não for uma imagem..
$foto_show= $_FILES['foto'];
$count = count($foto_show['name']);
for ($i = 0; $i < $count; $i++) {
if ($foto_show['name'][$i] != ""){
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $_FILES['foto']["type"][$i])) {
$erro[] = "<p class='erro'>Formato inválido. A foto deve ser uma imagem JPG, GIF ou PNG.</p>";
}
}
}
// Mostra todos os erros
if(sizeof($erro))
{
echo "<p>Verifique os seguintes erros:</p>";
foreach($erro as $err)
{
echo $err;
}
echo "<p class='voltar'><a href='java script:history.back()'>« Voltar</a></p>";
return;
}
// Tudo certo, vai em frente
//(...)
// Por padrão, o show está confirmado
$confirm = "sim";
if ($_POST['local'] != "Outro") {$lugar = $_POST['local'];}
if ($_POST['local'] == "Outro") {$lugar = $_POST['lugar'];}
// Monta query em SQL para inserção
$sql = "INSERT INTO eventos (
lugar,
dia,
mes,
ano,
companhias,
info,
preco,
couvert,
horario,
repertorio,
confirmado,
fotoby
) VALUES (
'".$lugar."',
'".$_POST['dia']."',
'".$_POST['mes']."',
'".$_POST['ano']."',
'".$_POST['companhias']."',
'".$_POST['info']."',
'".$_POST['preco']."',
'".$_POST['couvert']."',
'".$_POST['horario']."',
'".$_POST['repertorio']."','".$_POST['by']."'
)";
// Informações sobre um local de show que não consta no BD
$sql4 = "INSERT INTO locais (
lugar,
endereco,
dicas,
telefone
) VALUES (
'".$lugar."',
'".$_POST['endereco']."',
'".$_POST['dicas']."',
'".$_POST['telefone']."'
)";
// Se o local de show não consta na lista, grava ele.
if ($_POST['local'] == "Outro") {
$sql4 = mysql_query($sql4)
or die ("<p class='erro'>Houve erro na gravação dos dados.</p><p class='voltar'><a href='java script:history.back()' title='Voltar'>« Voltar</a></p>");
}
// Grava os dados no BD
$sql = mysql_query($sql)
or die ("<p class='erro'>Houve erro na gravação dos dados.</p><p class='voltar'><a href='java script:history.back()' title='Voltar'>« Voltar</a></p>");
echo "<p class='sucesso'>Show adicionado com sucesso!</p><p class='voltar'><a href='java script:history.back()' title='Voltar'>« Voltar</a></p>";
?>
<?
// Função que gera os thumbnails dos cartazes dos eventos
function gera_thumbnail( $imagem, $arq, $tam ) {
$ext = strtolower(end(explode(".", $imagem)));
if ($ext == "jpg" || $extensao == "jpeg")
$img = imagecreatefromjpeg($imagem);
else if ($ext == "png")
$img = imagecreatefrompng($imagem);
else if ($ext == "gif")
$img = imagecreatefromgif($imagem);
$ox = imagesx($img);
$oy = imagesy($img);
$x = $ox;
$y = $oy;
if ($x >= $y) {
if ($x > $tam) {
$x1= (int)($x * ($tam/$x));
$y1= (int)($y * ($tam/$x));
}$x1= $x;
$y1= $y;
}
}$x1= (int)($x * ($tam/$y));
$y1= (int)($y * ($tam/$y));
}$x1= $x;
$y1= $y;
}
}
$x = $x1;
$y = $y1;
$img_final = ImageCreateTrueColor($x, $y);
ImageCopyResampled($img_final, $img, 0, 0, 0, 0, $x+1, $y+1, $ox, $oy);
if ($ext == "png")
imagepng($img_final, $arq);
else if ($ext == "jpg" || $ext == "jpeg")
imagejpeg($img_final, $arq);
else if ($ext == "gif")
imagegif($img_final, $arq);
ImageDestroy($img);
ImageDestroy($img_final);
}
?>
<?
// Variável que define o arquivo
$cartaz_show= $_FILES['cartaz'];
// Número de cartazes a serem postados
$count = count($_FILES['cartaz']['name']);
// Executa o looping
for ($i = 0; $i < $count; $i++) {
if ($_FILES['cartaz']['name'][$i] != ""){
// Variáveis do cartaz: nome e diretório de destino
$num = $i + 1;
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $_FILES['cartaz']['name'][$i], $ext);
$arq_name = "Cartaz".$num."-".$_POST['local']." ".$_POST['dia']."-".$_POST['mes']."-".$_POST['ano'].".".$ext[1];
$dir = "cartazes/".$arq_name;
// Move o cartaz
move_uploaded_file($_FILES['cartaz']['tmp_name'][$i], $dir);
$cartaz = $dir;
$cartaz_thumb = "Cartaz".$num."-".$_POST['local']." ".$_POST['dia']."-".$_POST['mes']."-".$_POST['ano']."_Thumbnail.".$ext[1];
// Gera o thumbnail
gera_thumbnail( $dir, "cartazes/".$cartaz_thumb, 200);
// Grava os nomes dos thumbnails no BD
$sql2 = "UPDATE eventos SET thcartaz".$num."='".$cartaz_thumb."'"."WHERE dia = '".$dia."' AND mes = '".$mes."' AND ano = '".$ano."' AND lugar = '".$lugar."'";
$sql2 = mysql_query($sql2);
// Grava os nomes dos cartazes no BD
$sql21 = "UPDATE eventos SET cartaz".$num."='".$arq_name."'"."WHERE dia = '".$dia."' AND mes = '".$mes."' AND ano = '".$ano."' AND lugar = '".$lugar."'";
$sql21 = mysql_query($sql21);
}
}
?>$imagem1 = 'imagens/marca.png';
$marca = ImageCreateFromPNG($imagem1);
imageAlphaBlending($marca, false);
imageSaveAlpha($marca, true);
$pontoX1 = ImagesX($marca);
$pontoY1 = ImagesY($marca);
$ext = strtolower(end(explode(".", $imagem)));
if ($ext == "jpg" || $extensao == "jpeg")
$img = imagecreatefromjpeg($imagem);
else if ($ext == "png")
$img = imagecreatefrompng($imagem);
else if ($ext == "gif")
$img = imagecreatefromgif($imagem);
$ox = imagesx($img);
$oy = imagesy($img);
$x = $ox;
$y = $oy;
if ($x >= $y) {
if ($x > $tam) {
$x1= (int)($x * ($tam/$x));
$y1= (int)($y * ($tam/$x));
}$x1= $x;
$y1= $y;
}
}$x1= (int)($x * ($tam/$y));
$y1= (int)($y * ($tam/$y));
}$x1= $x;
$y1= $y;
}
}
$x = $x1;
$y = $y1;
$img_final = ImageCreateTrueColor($x, $y);
ImageCopyResampled($img_final, $img, 0, 0, 0, 0, $x+1, $y+1, $ox, $oy);
imagecopy($img_final, $marca, 4, $y-26, 0, 0, $pontoX1, $pontoY1);
if ($ext == "png")
imagepng($img_final, $arq);
else if ($ext == "jpg" || $ext == "jpeg")
imagejpeg($img_final, $arq, 100);
else if ($ext == "gif")
imagegif($img_final, $arq);
ImageDestroy($img);
ImageDestroy($img_final);
}
// Função que gera os thumbnails das fotos
function gera_thumbnail_foto( $imagem, $arq) {
// Efeito
$imagem1 = 'imagens/efeito.png';
$efeito = ImageCreateFromPNG($imagem1);
imageAlphaBlending($efeito, false);
imageSaveAlpha($efeito, true);
$pontoX1 = ImagesX($efeito);
$pontoY1 = ImagesY($efeito);
$ext = strtolower(end(explode(".", $imagem)));
if ($ext == "jpg" || $extensao == "jpeg")
$img = imagecreatefromjpeg($imagem);
else if ($ext == "png")
$img = imagecreatefrompng($imagem);
else if ($ext == "gif")
$img = imagecreatefromgif($imagem);
$ox = imagesx($img);
$oy = imagesy($img);
$x = 160;
$y = 110;
//Se a imagem nao for proporcional ao thumbnail que se vai gerar
//Pega a maior face e calcula a outra face proporcional a imagem original
$final_x = $x; //A largura sera a do thumbnail
$final_y = floor( $x * $oy / $ox ); //Calculo a altura proporcional
$f_x = 0; //Posiciono a imagem no x = 0
$f_y = round( ( $y / 2 ) - ( $final_y / 2 ) ); //Centralizo a imagem no vertice y
$posx = 0;
$posy = 0;
$img_final = ImageCreateTrueColor($x, $y);
ImageCopyResampled($img_final, $img, $f_x, $f_y, 0, 0, $final_x, $final_y, $ox, $oy);
imagefilter($img_final, IMG_FILTER_GRAYSCALE);
imagefilter($img_final, IMG_FILTER_COLORIZE, 82, 55, 18);
imagecopy($img_final, $efeito, $posx, $posy, 0, 0, $pontoX1, $pontoY1);
if ($ext == "png")
imagepng($img_final, $arq);
else if ($ext == "jpg" || $ext == "jpeg")
imagejpeg($img_final, $arq);
else if ($ext == "gif")
imagegif($img_final, $arq);
ImageDestroy($img);
ImageDestroy($img_final);
}
// Variável que define o arquivo
$foto_show= $_FILES['foto'];
// Número de fotos a serem postados
$count = count($foto_show['name']);
// Executa o looping
for ($i = 0; $i < $count; $i++) {
if ($foto_show['name'][$i] != ""){
// Variáveis da foto: nome e diretório de destino
$num = $i + 1;
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto_show['name'][$i], $ext);
$arq_name = "Foto".$num."-".$local." ".$dia."-".$mes."-".$ano.".".$ext[1];
$dir = "fotos/".$arq_name;
// Move a foto
move_uploaded_file($_FILES['foto']['tmp_name'][$i], $dir);
$foto = $dir;
$foto_grande = "fotos/Foto".$num."-".$local." ".$dia."-".$mes."-".$ano.".".$ext[1];
$foto_thumb = "fotos/Foto".$num."-".$local." ".$dia."-".$mes."-".$ano."_Thumbnail.".$ext[1];
$thumbname = "Foto".$num."-".$local." ".$dia."-".$mes."-".$ano."_Thumbnail.".$ext[1];
// Gera o thumbnail
gera_foto( $foto, $foto_grande, 640);
gera_thumbnail_foto( $foto_grande, $foto_thumb);
// Grava os nomes das fotos no BD
$sql3 = "UPDATE eventos SET foto".$num."='".$arq_name."'"."WHERE dia = '".$dia."' AND mes = '".$mes."' AND ano = '".$ano."' AND lugar = '".$lugar."'";
$sql3 = mysql_query($sql3);
// Grava os nomes dos thumbnails das fotos no BD
$sql31 = "UPDATE eventos SET thfoto".$num."='".$thumbname."'"."WHERE dia = '".$dia."' AND mes = '".$mes."' AND ano = '".$ano."' AND lugar = '".$lugar."'";
$sql31 = mysql_query($sql31);
}
}$dia = $_POST['dia']."/".$_POST['mes']."/".$_POST['ano'];
$nome = $_SESSION["login_user"];
$h1 = gmdate(H)-3;";
include 'criar_log.php';
?>
<p> </p>
</body>
</html>
Eu disse que era cabuloso...!!!Carregando comentários...