<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[immagini in php]]></title><description><![CDATA[<p dir="auto">Dopo aver creato una tabella con la seguente query:</p>
<p dir="auto">create table file_upload (id int(11) UNSIGNED NOT NULL auto_increment, bin_data blob, filename varchar(150) default NULL<br />
, filesize varchar(50) default NULL, filetype varchar(50) default NULL, width int(4) default NULL,<br />
height int(4) default NULL , thumb mediumblob NOT NULL, PRIMARY KEY (id)) TYPE=MyISAM;</p>
<p dir="auto">Immetto in essa le immagini e le relative informazioni richieste dai campi con i seguenti due script:</p>
<p dir="auto">upload.htm</p>
<p dir="auto">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;PHP Professionale&lt;/title&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;form name="formUpload" enctype="multipart/form-data" method="post" action="upload02.php"&gt;<br />
&lt;p&gt;<br />
&lt;input name="fileUP" type="file" id="fileUP"&gt;<br />
&lt;/p&gt;<br />
&lt;p&gt;<br />
&lt;input type="submit" name="Submit" value="Invia"&gt;<br />
&lt;/p&gt;<br />
&lt;/form&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p dir="auto">il quale una volta immesso l'indirizzo dell' immagine e cliccato sul pulsante invia mi mostra in una nuova pagina chiamata upload2.php l'anteprima dell'immagine e carica i dati sul DB :</p>
<p dir="auto">upload02.php :</p>
<p dir="auto">&lt;?php<br />
// se riceviamo i dati dal form<br />
if ($_SERVER['REQUEST_METHOD'] == 'POST' &amp;&amp;  $_FILES['fileUP']  &gt; 0 )<br />
$fileName = $_FILES['fileUP']['name'];<br />
$tmpName = $_FILES['fileUP']['tmp_name'];<br />
$fileSize = $_FILES['fileUP'];<br />
$fileMimeSize = $_FILES['fileUP']['type'];<br />
// Ricaviamo le informazioni sull'immagine<br />
list($width,$height,$type,$attr) = getimagesize( $_FILES['fileUP']['tmp_name']);<br />
// controlliamo che il lato maggiore dell'immagine non superi i 640 pixel<br />
if(($width &gt; 640 ) || ($height &gt; 640))<br />
{$msg = "&lt;p&gt;Immagine di dimensione superiori al consentito&amp;lt&lt;/p&gt;";}<br />
// in base al tipo di immagine creiamo un tipo temporanea del tipo corretto<br />
switch ($type){<br />
case 1: // gif<br />
$img_in=imagecreatefromgif($tmpName) or die ("impossibile creare l'immagine");<br />
if(!isset($extension))<br />
{$extension = "jpg";}<br />
break;<br />
case 2: // jpg<br />
$img_in=imagecreatefromjpeg($tmpName) or die ("impossibile creare l'immagine");<br />
if(!isset($extension))<br />
{$extension = "jpg";}<br />
break;<br />
case 3: // png<br />
$img_in=imagecreatefrompng($tmpName) or die ("impossibile creare l'immagine");<br />
if(!isset($extension))<br />
{$extension = "png";}<br />
break;<br />
default:<br />
die("impossibile creare l'immagine");<br />
}<br />
// Calcoliamo la percentuale di ridimensionamento in base alle dimensioni finali desederate<br />
$thumb_max_width = 100;<br />
$thumb_max_height = 100;<br />
$percentuale = ($width &gt; $height) ? $thumb_max_width / $width: $thumb_max_height / $height;<br />
$th_width = $width * $percentuale;<br />
$th_height = $height * $percentuale;<br />
$img_new = imagecreatetruecolor($th_width,$th_height);<br />
imagecopyresampled($img_new,$img_in,0,0,0,0,$th_width,$th_height,$width,$height);<br />
if($fileSize &gt; 64000) {<br />
die ("dimensione in KB dell'immagine superiore al consentito.");<br />
}<br />
// prepariamo i dati per l'inserimento in MYSQL<br />
ob_start();<br />
// creiamo il thumbnail in formato in jpeg<br />
imagejpeg($img_new);<br />
$thumbTemp = ob_get_contents();<br />
$thumbnail = addslashes($thumbTemp);<br />
ob_end_clean();<br />
$immagine = addslashes(fread(fopen($tmpName, "r"), $fileSize));<br />
// apriamo la connessione al database<br />
$db_host ="";<br />
$db_user = "";<br />
$db_name = "";<br />
$db_password = "";<br />
$connection = mysql_connect($db_host,$db_user,$db_password) or die ("Impossibile connettersi al server MySQL.\n");<br />
mysql_select_db($db_name,$connection) or die ("Impossibile aprire il database.\n");<br />
// inseriamo i dati nella tabella<br />
$sql = "INSERT INTO file_upload  (bin_data, filename , filesize , filetype, width , height , thumb) VALUES ('$immagine' , '$fileName' , '$fileSize' , '$extension' , $width , $height ,'$thumbnail')";</p>
<p dir="auto">$sql_result = mysql_query($sql,$connection) or die (mysql_error());<br />
$id = mysql_insert_id();<br />
// chiudiamo la commessione<br />
mysql_close($connection);</p>
<p dir="auto">// a seconda del tipo di immagine inviamo al browser l'header corretto<br />
switch($extension) {<br />
case "gif":<br />
header("content-type:image/gif");<br />
imagejpeg($img_new);<br />
exit;<br />
case "jpg":<br />
header("content_type:image/jpeg");<br />
imagejpeg($img_new);<br />
exit;<br />
case "png":<br />
header("content_type:image/png");<br />
imagepng($img_new);<br />
exit;<br />
default:<br />
die ("impossibile visualizzare l'immagine");<br />
}</p>
<p dir="auto">?&gt;</p>
<p dir="auto">fino a qui tutto bene, i dolori incominciano ora, perchè quando clicco sul file visualizza.php mi compare una tabellina di sfondo grigio chiaro che dovrebbe mostrarmi le immagini in miniatura e una volta cliccato sulle immagini in miniatura dovrebbero apparire le immagini in una finestra di grandezza preimpostate, ma invece mi compare solo la tabellina con al posto delle immagini  delle x e quando clicco su di esse si apre una finestra nera di dimensioni preimpostate ma con al posto della immagine grande una x nell'angolo superiore sinistro:</p>
<p dir="auto">visualizza.php:</p>
<p dir="auto">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;&lt;/title&gt;<br />
&lt;script language="JavaScript"&gt;<br />
/* funzione javascript per aprire le immagini in una nuova finestra di dimensione prefissata */<br />
function openImg(id,imgW,imgH) {</p>
<p dir="auto">var winWidth = eval(imgW) + 20;<br />
var winHeight = eval(imgH) + 20;<br />
var features = "width=" + winWidth + ",height=" + winHeight+"";<br />
copWindow = window.open("","PHP",features);<br />
copWindow.document.write("&lt;html&gt;\n&lt;head&gt;&lt;title&gt;PHP professionale &lt;/title&gt;&lt;/head&gt;\n");<br />
copWindow.document.write("&lt;body bgcolor='#000000'&gt;\n");<br />
copWindow.document.write("&lt;a href='javascript:window.close();'&gt;");<br />
copWindow.document.write("&lt;img src='/immagine.php?id="+id+"'width='"+imgW+"'height='"+imgH+"' border='0' title='clicca per chiudere'&gt;&lt;/a&gt;\n");<br />
copWindow.document.write("&lt;/body&gt;\n&lt;/html&gt;");<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;?php<br />
// connessione al database<br />
$db_host = "";<br />
$db_user = "";<br />
$db_password = "";<br />
$db_name = "";<br />
$connection = mysql_connect($db_host,$db_user,$db_password) or die ("Impossibile connettersi al server Mysql.\n");<br />
mysql_select_db($db_name,$connection) or die ("Impossibile aprire il database.\n");<br />
$sql = "SELECT id,filename,filetype,width,height FROM file_upload ORDER BY id";<br />
$sql_result = mysql_query($sql,$connection) or die (mysql_error());<br />
$tot = mysql_num_rows($sql_result);<br />
print "&lt;p&gt; &lt;/p&gt;&lt;table border='0' align='center' cellpadding='5' cellspacing='1' bgcolor='#CCCCCC'&gt;\n";<br />
$i=0;<br />
while($ValoriRiga=mysql_fetch_array($sql_result)) {<br />
$id=$ValoriRiga["id"];<br />
$filename=$ValoriRiga["filename"];<br />
$width=$ValoriRiga["width"];<br />
$height=$ValoriRiga["height"];</p>
<p dir="auto">if($i==0 || $i%4 ==0)<br />
{<br />
echo "&lt;/tr valign="top"&gt;\n";<br />
}</p>
<p dir="auto">print "&lt;td align='center' valign='middle'&gt;  &lt;a href="javascript:openImg('$id','$width','$height')"&gt; &lt;img src='thumb.php?id=$id' title='clicca per ingrancire' border='0'&gt; &lt;/a&gt;&lt;/td&gt;\n";</p>
<p dir="auto">if($i &gt; 0 &amp;&amp; $i % 4  == 3){<br />
echo "&lt;/tr&gt;\n";<br />
}</p>
<p dir="auto">$i++;<br />
}<br />
for($j=0 ; $j &lt; $tot % 4; $j++){<br />
echo " &lt;td&gt; &lt;/td&gt;\n";<br />
}</p>
<p dir="auto">if($tot-4 &gt;0 ){<br />
echo "&lt;/tr&gt;\n";<br />
}</p>
<p dir="auto">print "&lt;/table&gt;";</p>
<p dir="auto">mysql_free_result($sql_result);<br />
mysql_close($connection);<br />
?&gt;</p>
<p dir="auto">i seguenti file thumb.php e immagine.php servono a visualizza per visualizzare prima le anteprime nella tabella (thumb.php) e poi l'immagine nella finestra di dimensioni preimpostate (immagine.php)</p>
<p dir="auto">thumb.php:</p>
<p dir="auto">&lt;?php<br />
$db_host ="";<br />
$db_user ="";<br />
$db_password ="";<br />
$db_name ="";<br />
$connection = mysql_connect($db_host,$db_user,$db_password) or die ("Impossibile connettersi al server Mysql.\n");<br />
mysql_select_db($db_name,$connection) or die ("Impossibile aprire il database.\n");<br />
// dopo essersi connessi al database, recupera i dati del thumbnail dell'immagine identificata dall'id passato come parametro nell'URL<br />
$sql="SELECT thumb FROM file_upload WHERE id=".$_GET['id']."";<br />
$result=mysql_query($sql) or die ("Error " . mysql_errno() . " : " . mysql_error());<br />
mysql_close($connection);<br />
$riga=mysql_fetch_row($result);<br />
// il thumbnail è salvato in formato JPEG , quindi impostiamo il content/type appropriato nell'header della risposta HTTP<br />
header("Content-type:image/jpeg");<br />
print $riga[0];<br />
exit;<br />
?&gt;</p>
<p dir="auto">immagine.php:</p>
<p dir="auto">&lt;?php<br />
$db_host = "";<br />
$db_user = "";<br />
$db_password = "";<br />
$db_name = "";<br />
$connection=mysql_connect($db_host,$db_user,$db_password) or die ("Impossibile connettersi al server Mysql.\n");<br />
mysql_select_db($db_name,$connection) or die ("Impossibile aprire il database.\n");<br />
// dopo essersi connessi al database, recupera i dati del thumbnail dell'immagine identificata dall'id passato come parametro nell'URL<br />
$sql="SELECT bin_data , filename, filetype FROM file_upload WHERE id=". $_GET['id'] . "";<br />
$result=mysql_query($sql) or die ("Error " . mysql_errno() . " : " . mysql_error());<br />
mysql_close($connection);<br />
$riga=mysql_fetch_row($result);<br />
// a seconda del tipo di immagine impostiamo il content type</p>
<p dir="auto">switch ($riga[2]) {<br />
case "gif":<br />
header("Content-type:image/gif");<br />
// con questa istruzione impostiamo il nome del file<br />
header("Content-Disposition: inline; filename=$riga[1];");<br />
print $riga[0];<br />
exit;<br />
case "jpg":<br />
header("Content-type:image/jpeg");<br />
header("Content-Disposition: inline; filename=$riga[1];");<br />
print $riga[0];<br />
exit;<br />
case "png":<br />
header("Content-type:image/png");<br />
header("Content-Disposition: inline; filename=$riga[1];");<br />
print $riga[0];<br />
exit;<br />
default:<br />
die ("Impossibile visualizzare l'immagine");<br />
}<br />
?&gt;</p>
<p dir="auto">c'e qualcuno che puo aiutarmi a visualizzare queste benedette immagini , sono giorni che cerco una soluzione , credo che l'errore sia in questa riga di codice del file Visualizza.php:</p>
<p dir="auto">print "&lt;td align='center' valign='middle'&gt;  &lt;a href="javascript:openImg('$id','$width','$height')"&gt; &lt;img src='thumb.php?id=$id' title='clicca per ingrancire' border='0'&gt; &lt;/a&gt;&lt;/td&gt;\n";</p>
<p dir="auto">grazie in anticipo per qualsiasi suggerimento.</p>
]]></description><link>https://connect.gt/topic/24021/immagini-in-php</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 11:11:20 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/24021.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Dec 2006 23:01:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to immagini in php on Fri, 22 Dec 2006 18:00:16 GMT]]></title><description><![CDATA[<p dir="auto">Controlla nelle proprietò dell'immagine l'indirizzo url di questa e postalo,indicando l'indirizzo come dovrebbe essere se corretto.</p>
]]></description><link>https://connect.gt/post/412967</link><guid isPermaLink="true">https://connect.gt/post/412967</guid><dc:creator><![CDATA[probid]]></dc:creator><pubDate>Fri, 22 Dec 2006 18:00:16 GMT</pubDate></item></channel></rss>