php, javascript e variabili che contengono immagini

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

php, javascript e variabili che contengono immagini

Messaggio da Paoletta »

ciao a tutti, ho il seguente codice php che estrae da un database una immagine jpg

Codice: Seleziona tutto

@session_start();
include '../include/db.php';
$connessione= open_db();
$sql="SELECT foto FROM elementi where codice_elemento='$_GET[codice]'";
$risultato = db_query($sql,$connessione);
$p=fetch_array($risultato);
$foto=unescape_bytea($p[0]);
con una istruzione come echo $foto; ottengo la stampa dell'immagine, ma il mio obiettivo è utilizzare una finestra popup e non una nuova pagina html; per fare questo sto provando a vedere gli esempi in javascript, ma quel che trovo si riferisce ad immagini conservate nel filesystem, e non ad immagini contenute in variabili...grazie mille per eventuali suggerimenti!

Avatar utente
teox99
Linux 3.x
Linux 3.x
Messaggi: 738
Iscritto il: ven 25 lug 2008, 14:54
Slackware: 13.37
Desktop: KDE - Xfce
Località: Roma[Eur]
Contatta:

Re: php, javascript e variabili che contengono immagini

Messaggio da teox99 »

il tuo ragionamento è giusto, ma la soluzione sta a monte del tuo problema, devi richiamare un javascript che apre una finestra popup il cui contenuto è il codice da te postato prima.
NB un popup è una nuova pagina html!

Avatar utente
sardylan
Linux 3.x
Linux 3.x
Messaggi: 993
Iscritto il: mar 24 apr 2007, 9:21
Nome Cognome: Luca Cireddu
Slackware: current 64bits
Kernel: 3.16
Desktop: KDE 4.14
Distribuzione: Debian - CLFS
Località: Cagliari
Contatta:

Re: php, javascript e variabili che contengono immagini

Messaggio da sardylan »

Esatto... Fai chiamare una funzione JavaScript che apre un nuovo pop-up con l'indirizzo "tuapagina.php?param=value"... Sarà poi quel pop-up che puntando alla pagina PHP visualizzerà l'immagine...
Ti ricordo come prima cosa, di dare con un echo il Content-Type image/jpg, image/png o quello che è...
E ti consiglio di controllare ben bene il $_GET inserito in query con addslashes, onde evitare iniezioni di codice...

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4622
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: php, javascript e variabili che contengono immagini

Messaggio da aschenaz »

Ti consiglio una soluzione lightbox, che è anche gradevole come risultato.

Ce n'è anche qualcuno che è valido per l'XHTML 1.1, ad esempio slimbox:
http://www.digitalia.be/software/slimbox

Io l'ho adottato in qualche sito con buoni risultati. Guarda, ad esempio qui:
http://www.loretorc.org/site/index.php? ... =carnevale

Ciao,
nino

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: php, javascript e variabili che contengono immagini

Messaggio da Paoletta »

grazie 1000 siete tutti molto gentili!

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: php, javascript e variabili che contengono immagini

Messaggio da Paoletta »

riassumendo, ho la chiamata al popup in cui passo un parametro:

Codice: Seleziona tutto

$table.="<td align=\"center\"><a href=\"javascript:popImage($p[0])\"><span style=\"border:green solid 1px\">Foto</span></a></td>";
poi il popup (che per ora è fatto così) carica la pagina php che tira fuori il tutto:

Codice: Seleziona tutto

<script type="text/javascript">
//<![CDATA[
function popImage(cod){
     window.open("../htdocs/mostra_foto.php?codice=cod");
}
//]]>
</script>
Il problema è che non riesco a passare il parametro...altrimenti funzionerebbe tutto! Per quale banale problema sintattico la cosa non sta in piedi?

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4622
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: php, javascript e variabili che contengono immagini

Messaggio da aschenaz »

Ma, se visualizzi il sorgente della pagina, vedi il valore della variabile $p[0]?

Secondo me, dovresti fare così: popImage({$p[0]}), ovvero racchiudere tra
parentesi graffe, oppure spezzare la stringa ("...popImage(".$p[0].")..." ).

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: php, javascript e variabili che contengono immagini

Messaggio da Paoletta »

risolto, mancava un toString()! grazie comunque!

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: php, javascript e variabili che contengono immagini

Messaggio da Paoletta »

altra domandina...come faccio a generare un popup le cui dimensioni dipendono dalla foto estratta dal file .php? Devo chiedere la db le dimensioni della foto e passarle al javascript oppure c'è qualche modo più comodo?Grazie!

Avatar utente
sardylan
Linux 3.x
Linux 3.x
Messaggi: 993
Iscritto il: mar 24 apr 2007, 9:21
Nome Cognome: Luca Cireddu
Slackware: current 64bits
Kernel: 3.16
Desktop: KDE 4.14
Distribuzione: Debian - CLFS
Località: Cagliari
Contatta:

Re: php, javascript e variabili che contengono immagini

Messaggio da sardylan »

Nella chiamata JavaScript devi specificare le dimensioni... Se le hai già al momento della generazione del codice bene, altrimenti devi prendere l'immagine, e ricavarne le dimensioni... Penso che in PHP esistano delle funzioni per fare questo... Quindi SI... Dovrai chiederlo al DB, o almeno scaricare l'immagine dal DB per darla in pasto alle funzioni PHP...

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4622
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: php, javascript e variabili che contengono immagini

Messaggio da aschenaz »

Si, c'è la funzione getimagesize.

In pratica, puoi fare così:

Codice: Seleziona tutto

list($larghezza,$altezza)=getimagesize("percorso/nomeimmagine");
Con questa funzione, inoltre, puoi ottenere altre inforrmazioni sull'immagine (leggi
la relativa pagina di manuale).

Io poi utilizzo questi dati per mantenere le dimensioni dell'immagine visualizzata
entro certi limiti (applicando ad esempio delle proporzioni), specialmente quando
a caricare le immagine è l'utilizzatore del sito e magari va a caricare un'immagine
di 12 megapixel... :lol:

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3974
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Re: php, javascript e variabili che contengono immagini

Messaggio da Paoletta »

aschenaz ha scritto:Si, c'è la funzione getimagesize.

In pratica, puoi fare così:

Codice: Seleziona tutto

list($larghezza,$altezza)=getimagesize("percorso/nomeimmagine");
Con questa funzione, inoltre, puoi ottenere altre inforrmazioni sull'immagine (leggi
la relativa pagina di manuale).

Io poi utilizzo questi dati per mantenere le dimensioni dell'immagine visualizzata
entro certi limiti (applicando ad esempio delle proporzioni), specialmente quando
a caricare le immagine è l'utilizzatore del sito e magari va a caricare un'immagine
di 12 megapixel... :lol:
è proprio quel che vorrei evitare... così dovrei scaricarla sul filesystem solo per ricavarne le dimensioni, ed è poco elegante; mi chiedevo se non fosse un metodo più furbo...

Rispondi