Visto che non ho mai trovato un forum così efficiente propongo un altro mio problemino...sto lavorando ad un database mysql con un campo Foto nel quale registro il percorso delle immagini contenute in una cartella esterna dal nome foto.
Sul database vengono compiute delle queryes di ricerca e nella pagina dei risultati vorrei riuscire a visualizzare le immagini ridimensionate visto che le dimensioni originali sono troppo grandi. Sto provando questo codice ma non mi funziona
config.php
ridimensiona.php
pagina con query (l'ho semplificata perchè troppo lunga)
Il risultato che ottengo è la classica iconcina con la x rossa, ma sulle proprietà mi da
l'Indirizzo(URL)= nome_sito/ridimensiona.php?Foto=foto/nome_immagine
giusto
se provo a chiamare direttamente nell'indirizzo del browser mi dice che la foto non esiste
Senza la parte di codice relativa al ridimensionamento riuscivo a vedere perfettamente tutte le foto in formato originale.
Sul database vengono compiute delle queryes di ricerca e nella pagina dei risultati vorrei riuscire a visualizzare le immagini ridimensionate visto che le dimensioni originali sono troppo grandi. Sto provando questo codice ma non mi funziona
config.php
Codice:
<?php
$db_host="";
$db_user="";
$db_password="";
$db_database="";
$connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error());
mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error());
$larghezza=200;
$altezza=200;
$proporzioni=1;
$qualità=100;
$nomefileridimensiona="ridimensiona.php";
?>
Codice:
<?php
$db_host="";
$db_user="";
$db_password="";
$db_database="";
$connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error());
mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error());
require_once("config.php");
define("LARGHEZZA",$larghezza);
define("ALTEZZA",$altezza);
define("PROPORZIONI",$proporzioni);
define("QUALITA",$qualità);
function ridimensiona($Foto) {
$header=array(1=>"gif",2=>"jpeg",3=>"png",4=>"jpg");
// RIDIMENSIONAMENTO DELLA FOTO
$dimensioni=getimagesize($Foto);
if ($dimensioni[2] == 1)
$img=imagecreatefromgif($Foto);
if (($dimensioni[2] == 2) || $dimensioni[2] == 4)
$img=imagecreatefromjpeg($Foto);
elseif ($dimensioni[2] == 3)
$img=imagecreatefrompng($Foto);
$altezza=(PROPORZIONI) ? ceil($dimensioni[1]/$dimensioni[0]*LARGHEZZA) : ALTEZZA;
$im=Imagecreatetruecolor(LARGHEZZA, $altezza);
imagecopyresampled($im,$img,0,0, 0,0, LARGHEZZA,$altezza, $dimensioni[0],$dimensioni[1]);
header("content-type: image/".$header[$dimensioni[2]]);
imagejpeg($im,"",QUALITA);
imagedestroy($im);
}
$Foto=isset($_GET['Foto']) ? $_GET['Foto'] : "";
if(file_exists($Foto))
ridimensiona($Foto);
else
echo "$Foto NON ESISTE!";
?>
Codice:
<?php
$db_host="";
$db_user="";
$db_password="";
$db_database="";
$connessione=mysql_connect($db_host,$db_user,$db_password) or die ("Errore nella connessione al Mysql:" . mysql_error());
mysql_select_db($db_database,$connessione) or die ("Errore nella selezione del db:" . mysql_error());
$query="SELECT Foto FROM nome_tabella WHERE articolo LIKE '%$_POST[articolo]%''";
$risultato=mysql_query($query,$connessione) or die ("Errore nella query:" . mysql_error());
while($riga=mysql_fetch_array($risultato))
{?>
<tr>
<td colspan="2">
<img src="ridimensiona.php?Foto=<?php print ("$riga[Foto]");?>">
</tr>
}
?>
l'Indirizzo(URL)= nome_sito/ridimensiona.php?Foto=foto/nome_immagine
giusto
se provo a chiamare direttamente nell'indirizzo del browser mi dice che la foto non esiste
Senza la parte di codice relativa al ridimensionamento riuscivo a vedere perfettamente tutte le foto in formato originale.