generare thumbnail

claudia

Utente Attivo
30 Gen 2006
39
0
0
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
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";
?>
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!"; 
?>
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());

$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 src="ridimensiona.php?Foto=<?php print ("$riga[Foto]");?>">
</tr>
} 
?>
Il risultato che ottengo è la classica iconcina con la x rossa, ma sulle proprietà mi da
Indirizzo(URL)= nome_sito/ridimensiona.php?Foto=\fotografie\nome_immagine

se provo a chiamare direttamente nell'indirizzo del browser
Codice:
nome_sito/ridimensiona.php?Foto=\fotografie\nome_immagine
mi appare questo messaggio di errore

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
La linea 41 è questa:
Codice:
  $img=imagecreatefromjpeg($Foto);
Se invece modifico l'orientamento degli slash
Codice:
nome_sito/ridimensiona.php?Foto=/fotografie/V_TO_00001.jpg
mi dice
Codice:
/fotografie/V_TO_00001.jpg NON ESISTE!

Qualcuno può darmi un consiglio?
 

bruttocattivo

Nuovo Utente
3 Lug 2006
22
0
0
Ciao!

Allora,
  1. sicuramente le barre "\" non vanno bene. Controlla come le hai memorizzate nel db e in caso sostituiscile con "/";
  2. in questa porzione di codice:
    PHP:
    while($riga=mysql_fetch_array($risultato))
    {?>
    <tr>
    <td colspan="2">
    <img src="ridimensiona.php?Foto=<?php print ("$riga[Foto]");?>">
    </tr>
    } 
    ?>
    manca il tags di apertura php "<?" prima dell'ultima parentesi graffa;
  3. In queste righe:
    PHP:
    $Foto=isset($_GET['Foto']) ? $_GET['Foto'] : ""; 
    if(file_exists($Foto)) 
        ridimensiona($Foto); 
    else 
        echo "$Foto NON ESISTE!";
    dai un altro nome alla variabile $Foto (per esempio $img) in modo che non coincida con il nome dell'argomento assegnato alla funzione "ridimensiona" in fase di dichiarazione;

Con questi accorgimenti dovrebbe andare, o almeno, a me ha funzionato.

CIAU CIAU
 
Ultima modifica:

claudia

Utente Attivo
30 Gen 2006
39
0
0
Ho corretto il codice così come mi hai consigliato....ma non ricordo più come si impostava la query sql per la modifica del contenuto di un campo (devo cambiare l'orientamento delle barre che effettivamente nel DB sono memorizzate "\" ) mi puoi dare un suggerimento? Altrimenti andrò a ricercare tra i miei mille file di prova
Grazie
 

bruttocattivo

Nuovo Utente
3 Lug 2006
22
0
0
Ma non hai a disposizione un manager di mysql tipo PHPMYADMIN da cui fare le modifiche???

Comunque, la sintassi per modificare il contenuto di un campo è la seguente:

Codice:
UPDATE nome_tabella SET nome_campo = 'nuovo_valore' WHERE eventuale_condizione

CIAU CIAU
 
Discussioni simili
Autore Titolo Forum Risposte Data
G PHP e Microsoft Teams: generare link videocall PHP 15
Tommy03 Generare file PHP dopo registrazione PHP 2
A [PHP] Generare nomi dei file con lettere minuscole e vocali senza accenti PHP 2
webmachine [PRESTASHOP] Come generare secure_key CMS (Content Management System) 1
V (Vendo) Metodo generare Like facebook Annunci servizi di Social Media Marketing 4
Joker37 Generare file txt con php estraendo codice html. PHP 4
cris8380 Generare immagine barcode PHP 1
cris8380 [PHP] Generare file pdf con inserimento dati PHP 34
V Generare array da ciclo while e prendere valori casuali PHP 4
T campo data+ora: estrarre l'ora senza generare una stringa MS Access 2
Devil-94 Generare una lista di link Javascript 1
neo996sps [PHP e funzioni con PDO] Funzione per generare corpo tabella PHP 1
D generare "tessera iscrizione" PHP 5
P Generare hash sha1 Classic ASP 2
S Generare pagina dopo il caricamento di un dato PHP 6
C Generare una tabella e trasformarla in una immagine PHP 2
M Aiuto per una libreria per generare grafici PHP 1
A Ciclo per generare etichette PHP 0
G Generare XML in base ai valori get XML 0
A [RISOLTO]Come generare query dinamica PHP-MYSQL PHP 2
M Classe in php 4 per generare file in Excel PHP 4
Emix Generare PDF da righe HTML - FPDF PHP 10
K creare uno script in php , per generare in modo automatico query PHP 2
ypsilon86 Generare il nome del tag ID e NAME in modo sequenziale PHP 17
D Generare numeri interi casuali compresi in [1;k] Java 0
L Generare pagine PHP 8
Z generare pagina da template con php PHP 2
A Generare un punto "nelle vicinanze " di un altro. PHP 0
L generare classifiche top 10 PHP 1
U Generare bolle di trasporto con php PHP 3
E Generare automaticamente links... PHP 5
P Generare pagine successive dopo una ricerca Classic ASP 5
$ Generare script per funzione tempo Javascript 0
metalgemini generare codice numerico Classic ASP 4
D Programma per generare i calendari Windows e Software 2
F Thumbnail doppia PHP 8
K [HTML] Thumbnail (mouseover) + Popup immagine HTML e CSS 1
M ridimensionare un'immagine per ottenere una thumbnail PHP 4
G Modifica plugin per thumbnail PHP 0
D Creare una thumbnail di un swf con AS3 Flash 3
N Thumbnail dubbio e aiuto. PHP 1
E aiutatemi con questo thumbnail scroller!!! Flash 20
H script thumbnail PHP 1

Discussioni simili