ciao a tutti,premesso che non e' che sia una cima nella programmazione,
sto studiando e provando questa semplice fotogallery.
L'upload ed il ridimensionamento funzionano ma la query non inserisce i dati sul database.
Mi restituisce questo messaggio:
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, user, pic_time) VALUES (''animationbolle0073', '14349', '128', '96', '.jpe' at line 1
se qualcuno ha voglia di darci un'occhiata questa e' la pagina uploader:
<?php
//percorsi cartelle per il caricamento dei file
include('config.php');
function get_filename($img)
{
if(!$img) return false;
$badTag = array(' ', '.', ',', '/', '`', ';', '[', ']', '-', '_', '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')', '|', '{', '}', '<', '>', '?', ':', '"', '=' );
$clean = trim(strtolower($img));
$filename = substr($clean, 0, strrpos($clean, '.'));
$img_name = str_replace($badTag, '', $filename);
return $img_name;
}
$open = opendir($upload) ;
while (false !== ($read=readdir($open)))
{
if($read != "Thumbs.db")
{
if(is_file($upload . $read))
{
$array_file[ ] = get_filename($read);
}
}
}
//visualizza il modulo di caricamento file
if(isset($_POST['submit']))
{
$mime_type = $_FILES['data']['type'];
$filename = get_filename($_FILES['data']['name']);
//verifica le dimensioni del file caricato
if($_FILES['data']['size'] == 0 )
{
die ('Errore : campo upload nullo');
}
//array delle estensione permesse
$file_permessi = array("image/gif", "image/pjpeg", "image/jpeg", "image/x-png", "image/png");
//confronto l'estensione con quelle permesse
if (!in_array($mime_type, $file_permessi))
{
die ('Etsensione non consentita');
}
//confronto il file con quelli presenti nella cartella di caricamento
if($array_file != NULL)
{
if(in_array($filename, $array_file )) die ('Esiste gia` un\' immagine con questo nome');
}
//ottiene larghezza e altezza dell'originale
list($width, $height) = getimagesize($_FILES['data']['tmp_name']);
//calcola le proporzioni e ottiene dimensioni thumbsnail
if ($width < $thumb_size && $height < $thumb_size)
{
$newwidth = $width;
$newheight = $height;
}
else
{
$newwidth = ($width > $height) ? $thumb_size : ($thumb_size / $height) * $width;
$newheight = ($height > $width) ? $thumb_size : ($thumb_size / $width) * $height;
}
//crea la nuova immagine
switch($mime_type)
{
case 'image/pjpeg':
case 'image/jpeg':
$new_img = imagecreatefromjpeg($_FILES['data']['tmp_name']);
$ext = '.jpeg';
break;
case 'image/x-png':
case 'image/png':
$new_img = imagecreatefrompng($_FILES['data']['tmp_name']);
$ext = '.png';
break;
case 'image/gif';
$new_img = imagecreatefromgif($_FILES['data']['tmp_name']);
$ext = '.gif';
break;
}
//funzione per ridimensionare l'immagine
if (function_exists('imagecreatetruecolor'))
{
$resized_img = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
else
{
$resized_img = imagecreate($newwidth, $newheight);
imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
//creazione thumb
switch($mime_type)
{
case 'image/pjpeg':
case 'image/jpeg':
imagejpeg($resized_img, $thumbs . '/' .$filename .$ext, 100);
break;
case 'image/x-png':
case 'image/png':
imagealphablending($resized_img, false);
imagesavealpha($resized_img, true);
imagepng($resized_img, $thumbs . '/' .$filename . $ext);
break;
case 'image/gif';
imagegif($resized_img, $thumbs . '/' .$filename . $ext);
break;
}
imagedestroy($resized_img);
imagedestroy($new_img);
if(!is_uploaded_file($_FILES['data']['tmp_name']))
{die('Erroe nel caricamento');
}
$move = move_uploaded_file($_FILES['data']['tmp_name'], $upload . $filename . $ext)
or die('Non posso caricare il file');
if($move)
{
$sql_ary = array(
'filename' => $filename,
'filesize' => $_FILES['data']['size'],
't_width' => $newwidth,
't_height' => $newheight,
'ext' => $ext,
'title' => $_POST['title'],
'desc' => $_POST['desc'],
'user' => $_POST['user']);
$fields = $values = array();
foreach($sql_ary as $key => $value)
{
$fields[] = $key;
$values[] = "'" . mysql_real_escape_string($value) . "'";
}
$str_ary = implode(', ' , $values);
$str_key = implode(', ', $fields);
$sql = "INSERT INTO gallery (filename, filesize, t_width, t_height, ext, title, desc, user, pic_time) VALUES ('$str_ary', NOW())";
mysql_query($sql) or die(mysql_error());
echo "file caricato con successo<br />";
echo "Antemprima: <img src=\"$thumbs/$filename$ext\" />";
}
else echo 'errore';
}
?>
Grazie mille,ciao..
sto studiando e provando questa semplice fotogallery.
L'upload ed il ridimensionamento funzionano ma la query non inserisce i dati sul database.
Mi restituisce questo messaggio:
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, user, pic_time) VALUES (''animationbolle0073', '14349', '128', '96', '.jpe' at line 1
se qualcuno ha voglia di darci un'occhiata questa e' la pagina uploader:
<?php
//percorsi cartelle per il caricamento dei file
include('config.php');
function get_filename($img)
{
if(!$img) return false;
$badTag = array(' ', '.', ',', '/', '`', ';', '[', ']', '-', '_', '*', '&', '^', '%', '$', '#', '@', '!', '~', '+', '(', ')', '|', '{', '}', '<', '>', '?', ':', '"', '=' );
$clean = trim(strtolower($img));
$filename = substr($clean, 0, strrpos($clean, '.'));
$img_name = str_replace($badTag, '', $filename);
return $img_name;
}
$open = opendir($upload) ;
while (false !== ($read=readdir($open)))
{
if($read != "Thumbs.db")
{
if(is_file($upload . $read))
{
$array_file[ ] = get_filename($read);
}
}
}
//visualizza il modulo di caricamento file
if(isset($_POST['submit']))
{
$mime_type = $_FILES['data']['type'];
$filename = get_filename($_FILES['data']['name']);
//verifica le dimensioni del file caricato
if($_FILES['data']['size'] == 0 )
{
die ('Errore : campo upload nullo');
}
//array delle estensione permesse
$file_permessi = array("image/gif", "image/pjpeg", "image/jpeg", "image/x-png", "image/png");
//confronto l'estensione con quelle permesse
if (!in_array($mime_type, $file_permessi))
{
die ('Etsensione non consentita');
}
//confronto il file con quelli presenti nella cartella di caricamento
if($array_file != NULL)
{
if(in_array($filename, $array_file )) die ('Esiste gia` un\' immagine con questo nome');
}
//ottiene larghezza e altezza dell'originale
list($width, $height) = getimagesize($_FILES['data']['tmp_name']);
//calcola le proporzioni e ottiene dimensioni thumbsnail
if ($width < $thumb_size && $height < $thumb_size)
{
$newwidth = $width;
$newheight = $height;
}
else
{
$newwidth = ($width > $height) ? $thumb_size : ($thumb_size / $height) * $width;
$newheight = ($height > $width) ? $thumb_size : ($thumb_size / $width) * $height;
}
//crea la nuova immagine
switch($mime_type)
{
case 'image/pjpeg':
case 'image/jpeg':
$new_img = imagecreatefromjpeg($_FILES['data']['tmp_name']);
$ext = '.jpeg';
break;
case 'image/x-png':
case 'image/png':
$new_img = imagecreatefrompng($_FILES['data']['tmp_name']);
$ext = '.png';
break;
case 'image/gif';
$new_img = imagecreatefromgif($_FILES['data']['tmp_name']);
$ext = '.gif';
break;
}
//funzione per ridimensionare l'immagine
if (function_exists('imagecreatetruecolor'))
{
$resized_img = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
else
{
$resized_img = imagecreate($newwidth, $newheight);
imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
//creazione thumb
switch($mime_type)
{
case 'image/pjpeg':
case 'image/jpeg':
imagejpeg($resized_img, $thumbs . '/' .$filename .$ext, 100);
break;
case 'image/x-png':
case 'image/png':
imagealphablending($resized_img, false);
imagesavealpha($resized_img, true);
imagepng($resized_img, $thumbs . '/' .$filename . $ext);
break;
case 'image/gif';
imagegif($resized_img, $thumbs . '/' .$filename . $ext);
break;
}
imagedestroy($resized_img);
imagedestroy($new_img);
if(!is_uploaded_file($_FILES['data']['tmp_name']))
{die('Erroe nel caricamento');
}
$move = move_uploaded_file($_FILES['data']['tmp_name'], $upload . $filename . $ext)
or die('Non posso caricare il file');
if($move)
{
$sql_ary = array(
'filename' => $filename,
'filesize' => $_FILES['data']['size'],
't_width' => $newwidth,
't_height' => $newheight,
'ext' => $ext,
'title' => $_POST['title'],
'desc' => $_POST['desc'],
'user' => $_POST['user']);
$fields = $values = array();
foreach($sql_ary as $key => $value)
{
$fields[] = $key;
$values[] = "'" . mysql_real_escape_string($value) . "'";
}
$str_ary = implode(', ' , $values);
$str_key = implode(', ', $fields);
$sql = "INSERT INTO gallery (filename, filesize, t_width, t_height, ext, title, desc, user, pic_time) VALUES ('$str_ary', NOW())";
mysql_query($sql) or die(mysql_error());
echo "file caricato con successo<br />";
echo "Antemprima: <img src=\"$thumbs/$filename$ext\" />";
}
else echo 'errore';
}
?>
Grazie mille,ciao..