Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
eu montei um script para fazer o upload da imagens e criar o thumbnail, ele cria e up normal, mas ele não cadastra no banco de dados o endereço da imagen e da o seguinte erro:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc, foto, thumbnail) VALUES ('0' , 'fotos/775bc1d1479224f16aa11ae0848c1c40.jpg' at line 1
o codigo segue abaixo.
<?php
// Prepara a variável do arquivo
$arquivo = isset($_FILES["foto"]) ?
$_FILES["foto"] : FALSE;// Verifica se o mime-type do arquivo é de imagem
if(!eregi("^image/(pjpeg|jpeg|png|gif|bmp)$",
$arquivo["type"]))
{
$erro[] = "Arquivo inválido!
A imagem deve ser jpg, jpeg,
bmp, gif ou png. Envie outro arquivo";
}
// Pega extensão do arquivo
preg_match("/.(gif|bmp|png|jpg|jpeg){1}$/i",
$arquivo["name"], $ext);
// Gera um nome único para a imagem
$imagem_nome =
md5(uniqid(time())) . "." . $ext[1];
// Caminho de onde a imagem ficará
$imagem_dir = "fotos/" . $imagem_nome;
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"]
, $imagem_dir);
// DEFINE A IMAGEM DA QUAL SERÁ GERADA A MINIATURA
// Lembrar que essa imagem tem que estar no diretório do script...
// .. nenhum teste será feito para saber se ela existe
$imagem = $imagem_dir; // Tipo: JPG
// DEFINIR O NOME DO ARQUIVO PARA O THUMBNAIL
$thumbnail = explode('.', $imagem);
$thumbnail = $thumbnail[0]."_thumbnail.jpg";
// DEFINIR AS DIMENSÕES PARA O THUMBNAIL
$x = 120; // Largura
$y = 120; // Altura
// LÊ A IMAGEM DE ORIGEM
$img_origem = ImageCreateFromJPEG($imagem);
// PEGA AS DIMENSÕES DA IMAGEM DE ORIGEM
$origem_x = imagesx($img_origem); // Largura
$origem_y = imagesy($img_origem); // Altura
// ESCOLHE A LARGURA MAIOR E, BASEADO NELA, GERA A LARGURA MENOR
if($origem_x > $origem_y) { // Se a largura for maior que a altura
$final_x = $x; // A largura será a do thumbnail
$final_y = floor($x * $origem_y / $origem_x); // A altura é calculada
$f_x = 0; // Colar no x = 0
$f_y = round(($y / 2) - ($final_y / 2)); // Centralizar a imagem no meio y do thumbnail
} else { // Se a altura for maior ou igual à largura
$final_x = floor($y * $origem_x / $origem_y); // Calcula a largura
$final_y = $y; // A altura será a do thumbnail
$f_x = round(($x / 2) - ($final_x / 2)); // Centraliza a imagem no meio x do thumbnail
$f_y = 0; // Colar no y = 0
}
// CRIA A IMAGEM FINAL PARA O THUMBNAIL
$img_final = ImageCreate($x,$y);
// COPIA A IMAGEM ORIGINAL PARA DENTRO DO THUMBNAIL
ImageCopyResized($img_final, $img_origem, $f_x, $f_y, 0, 0, $final_x, $final_y, $origem_x, $origem_y);
// SALVA O THUMBNAIL
ImageJPEG($img_final, $thumbnail);
// LIBERA A MEMÓRIA
ImageDestroy($img_origem);
ImageDestroy($img_final);
//mostra o endereço das imagens
echo $imagem_dir;
echo "<br>";
echo $thumbnail;
include("conecta.php"); //arquivo de conexão com o banco de dados
$sql = "INSERT INTO fotos (desc, foto, thumbnail) VALUES ('0' , '$imagem_dir' , '$thumbnail')";
mysql_query($sql, $base) or die(mysql_error());
echo "<script>alert('Foto cadastrada com sucesso!');history.back(-1);</script>";
mysql_close();
exit;
?>
e fora esse erro que está dando, ele cria um thumbnail bem feio, a qualidade mt ruim, alguem saberia oque posso fazer para melhorar a qualidade do thumbnail?
grato
Carregando comentários...