Newsgroup: it.comp.www.php
Titolo: PHP e JS - Resize e target div

Ciao a tutti,
ho il seguente problema.
Ho un listato di link ad immagini nella pagina, una volta cliccato il 
link le immagini si devono caricare in un div specifico della pagina, 
dopo aver eseguito un resize delle stesse.
Ora il problema è questo, non posso eseguire il resize a priori di tutte 
le immagini (in quanto sono il risultato di una ricerca e possono essere 
anche svariate centinaia), ma devo necessariamente eseguirlo 'al volo'.
Ho già scritto una funzione basata sulle GD per il resize e adattato del 
codice JS per aprire l'immagine nel div di riferimento, ma non riesco a 
far fare entrambe le cose contemporaneamente (o in rapida successione).
Il problema è che non so a priori il nome dell'immagine da 
aprire/ridimensionare finchè l'utente non clicca sul link da lui 
prescelto, 'inviandomi' così il nome dell'immagine.
Per ora l'apertura nel div funziona così:
<a href=\"#\" onclick=\"openImage('nomeimmagine.jpg');\">LINK</a>
La funzione non fa altro che usare una innerHTML per scrivere del codice 
senza ricaricare la pagina, aprendo così l'immagine nel div desiderato, 
ho già provato a tentare di scrivere del php, ma questo non viene 
processato.
Se nel link ci metto una chiamata alla funzione php per il resize, non 
so poi come fare ad attivare il js.
Qualche idea ?
Spero di non essere stato troppo contorto.
Grazie a tutti.
YUS

 processato.
Per forza. PHP lavora lato server e JS lato client.
Puoi fare cosi: tramite JS, con innerHTML, infili nel DOM qualcosa del 
genere:
<img src="resizeimage.php?img=nomeimmagine.jpg">
e sul server avrai lo script resizeimage.php che ridimensiona l'immagine e 
la spara fuori in jpeg.
In alternativa, via JS crei un'Image prendendo l'immagine dallo stesso 
script, e poi modifichi il src di quell'img allo stesso modo (cosi` non 
hai l'effetto di "caricamento progressivo").
Metodi ce ne sono anche altri, probabilmente, ma devi sempre tenere 
presente che JS lavora su un computer, e PHP su un altro.
Bye.

Alessandro Pellizzari ha scritto:
 > Per forza. PHP lavora lato server e JS lato client.
Fin qui c'ero arrivato anche io, la domanda era come unire il tutto :P
Scherzi a parte.. la teoria è ormai assodata.
=)
 > Puoi fare cosi: tramite JS, con innerHTML, infili nel DOM qualcosa 
del genere:
 >
 > <img src="resizeimage.php?img=nomeimmagine.jpg">
 >
 > e sul server avrai lo script resizeimage.php che ridimensiona 
l'immagine e la spara fuori in jpeg.
Quindi la funzione dovrebbe restituire lo stream raw dell'immagine giusto ?
 > In alternativa, via JS crei un'Image prendendo l'immagine dallo 
stesso script, e poi modifichi il src di quell'img allo stesso modo 
(cosi` non hai l'effetto di "caricamento progressivo").
Non ho ben capito.. me lo rispieghi ?
Grazie
YUS

 Non ho ben capito.. me lo rispieghi ?
Forse e` meglio se chiedi sul gruppo di javascript, che sono piu` esperti.
Molto alla buona: crei un oggetto Image da javascript:
i = new Image();
a cui poi assegni l'URL allo stesso script di sopra come src. Credo 
qualcosa tipo
i.src = "
http://server/resizeimage.php?img=nomeimmagine.jpg
";
Questo scarica l'immagine in sottofondo. Quindi sostituisci l'img nel DOM 
con questa immagine.
Io uso jQuery, non mi ricordo i comandi esatti in JS puro... :)
Bye.