- Home
- Categorie
- Coding e Sistemistica
- PHP
- Richiamo immagini da server
-
Richiamo immagini da server
Salve a tutti!
M i chiedo, è possibile creare uno script che visualizza le immagini che un utente carica sul server?ex: carico l'immagine sul server e con echo $immagine.jpg la faccio vedere sullo spazio dove metto la funzione.
-
Ciao Davide-Al
potresti creare una tabella dove al caricamento immagine crei un record che riporti l'id utente e il nome immagine e/o percorso.
Quando la vuoi visualizzare recuperi tramite l'id dell'utente l'immagine associata e quindi qualcosa del genere:
[php]<img src="immagini/<? echo $immagine; ?>">[/php]il tutto poi dipende da come vuoi/devi organizzare la cosa, ma la teoria resta comunque questa sommariamente
-
Grazie. In pratica voglio arrivare a costruire qualcosa che quando un utente fa l'upload dell'immagine sul server deve fare l'echo su una pagina che gli imposto prima io.
-
Mi aiutate a fare uno schema su come fare il codice?
-
Salve a tutti, stò provando questo script, la cartella e il contenuto lo riconosce ma sul pagina web mi escono solo i nomi e delle immagini vuote... mi chiedo il perchè.... ho anche dato i permessi 777 ma niente, il mio è un hosting linux. Forse devo fare qualcosa cn Header?
[php]<?php
$dir = "/web/htdocs/www.miosito/home/dir_upload/images/";
// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n<br>";
echo "<img src="".$dir.$file."">\n<br>";
}
closedir($dh);
}
}?> [/php]
-
Ciao Davide-Al
Hai controllato quale sia il risultato HTML di questo script?
Controlla il sorgente pagina e quindi verifica che gli indirizzi delle immagini siano giusti.
-
Ma devono essere giusti per forza.. no? Se va nella cartella vuol dire che li vede... ora provo come hai detto grazie..
-
<br>filename: bb.gif : filetype: file
<br><img src="/web/htdocs/www.miosito.net/home/dir_upload/images/bb.gif">Mi esce il path assoluto.
Il vero path è:
www.miosito.net/dir_upload/images/->QUI STANNO LE IMAGINIDevo cambiare qualcosa?
-
Il mio server è stato aggiornato a php5 non è che non mi funziona perchè è scritto in una versione precedente?
-
Immagino tu debba cambiare questa:
[php]$dir = "www.miosito.it/home/dir_upload/images/";[/php]
Prova così
-
Ma non sta qui:
www.miosito.it/home/dir_upload/images/ma qui:
www.miosito.it/dir_upload/images/ e non funziona
home fa parte del path assoluto/web/htdocs/www.miosito.net/home/dir_upload/images/
-
Allora utilizza quell'$dir per la lettura della cartella e per le immagini invece utilizza il path:
[php]www.miosito.it/dir_upload/images/[/php]
-
Non capisco, devo scambiare i campi?
Fammi un'esempio.
-
Puoi provare con...
$dir = dirname(FILE)."/cartella_img_che_si_trova_nella_stessa_directory_del_file_php";
-
Le immagini si_trovano in una directory diversa.
immagini.php dove voglio visualizzare le immagini.
Poi nella root c'è una cartella:
dir_upload/images/ <-- QUI STANNO LE IMGS
-
Puoi farmi scritto la differenza tra
$dir = dirname(FILE)."/cartella_img_che_si_trova_nella_stessa_directory_d el_file_php";e
$dir = "/web/htdocs/www.miosito/home/dir_upload/images/";
se no sbaglio
-
Ma stai provando in locale?
Se provi sul server, metti la path assoluta...
$dir="http://www.miosito.it/dir_upload/images/";
-
No, dal server. Ho provato come hai detto ma niente..
Ma la path assoluta è questa no?
/web/htdocs/mio sito/home/dir_upload/images/
E anche con questa non funziona.
-
Se metto /web/htdocs/mio sito/home/dir_upload/images/
mi compaiono solo i nomi delle immagini con delle immagini vuote...
Non capisco..
-
Ciao Davide-Al.
Stai affrontando le stesse problematiche anche in questo thread.
Come ben sai, essendo utente premium, il crossposting non è consentito dal regolamento del Forum GT:11. Crossposting
11.0. Non è consentito postare lo stesso messaggio o parti di esso in più aree del forum, salvo casi di particolare interesse che dovranno comunque essere autorizzati da un Admin.Pertanto provvedo a chiudere questo thread.