Non riesco proprio a risolvere questo problema.
Ho un db mysql con un campo Foto nel quale viene salvato il percorso delle immagini contenute in una cartella dal nome fotografie...ora quello che vorrei è che nella visualizzazione dei risultati delle queryes che l'utente compie sul db l'immagine apparisse ridimensionata e non nelle dimensioni originali (esagerate !!!).
Leggendo qua e in là ho provato ad applicare un pò di codice...ma niente.
Vi posto le pagine:
config.php
ridimensiona.phpcodice:<?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"; ?>
pagina con query di ricerca (nella quale l'immagine dovrebbe vedersi ridimensionata)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!"; ?>Il risultato che ottengo è la classica iconcina con la x rossa, ma sulle proprietà mi dacodice:<?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 fotoaereeverticali WHERE AnnoRipresa LIKE '%$_POST[AnnoRipresa]%''"; $risultato=mysql_query($query,$connessione) or die ("Errore nella query:" . mysql_error()); while($riga=mysql_fetch_array($risultato)) {?> <tr> <td colspan="2"> [img]ridimensiona.php?Foto=<?php print ([/img]"> </tr> } ?>
Indirizzo(URL)= nome_sito/ridimensiona.php?Foto=\fotografie\nome_immagine
se provo a chiamare direttamente nell'indirizzo del browsermi appare questo messaggio di errorecodice:nome_sito/ridimensiona.php?Foto=\fotografie\nome_immagine
La linea 41 è questa:codice:Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2848 bytes) in /home/mhd-01/www.space2place.org/htdocs/ridimensiona.php on line 41
Se invece modifico l'orientamento degli slashcodice:$img=imagecreatefromjpeg($Foto);
mi dicecodice:nome_sito/ridimensiona.php?Foto=/fotografie/V_TO_00001.jpg
Qualcuno può darmi un consiglio?codice:/fotografie/V_TO_00001.jpg NON ESISTE!

Rispondi quotando