[Risolto]php non visualizza immagini da cartella

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
danyred
Prode Principiante
Messaggi: 28
Iscrizione: sabato 15 luglio 2017, 18:02
Desktop: ubuntu
Distribuzione: Ubuntu 20.04.1 LTS
Sesso: Maschile

[Risolto]php non visualizza immagini da cartella

Messaggio da danyred »

buongiorno,
con una script php cerco di visualizzare delle immagini memorizzate in una cartella del server. lo script l'ho trovato in rete tra i tanti disponibili,più o meno complicati, ma sostanzialmente identici per quanto riguarda la visualizzazione.
il mio script è:

Codice: Seleziona tutto

<?php
$tizio="danilo";
$path = "/var/www/Foto/".$tizio."/";
$pathF = "/Foto/".$tizio."/";
//$path = "./Foto/".$tizio."/";
//echo " path=". $path;
if ($handle = opendir($path)) {
//echo "\n handle=". $handle;
   $files = array();

   while (false !== ($file = readdir($handle))) {
//   if (false !== ($file = readdir($handle))) {
//echo  "\n file =". $file;
      if ($file !== '.' && $file !== '..') {

         $files .= $file;
$completo= $path.$file;

//echo "   qui arriva=". $completo;
         echo '<img alt="',$file,'" src="',$pathF , $file , '">',"\n  <p />";
//            echo '<img src="'.$completo.'" alt="'.$file.'" />',"\n  <p />";
//         echo '<img alt="',$file,'" src="',$completo , '">',"\n <p />";
 $im=imagecreatefrompng("$completo");
        imagestring($im, 1, 5, 5, 'Error loading ' . $imgname, $tc);

?>
<?php
//echo "   anche qui arriva=";

      }

   }

   if ($files == null) {

      echo "Directory vuota!!<br />\n";

   }

}

?>

Le immagini sono contenute nella cartella: /var/www/Foto/danilo

Codice: Seleziona tutto

danilo@danilo-CX70-2PF:~$ cd /var/www/Foto/danilo
danilo@danilo-CX70-2PF:/var/www/Foto/danilo$ ls
chiusa_san_michele.png  LOVE.png  marina.jpg  mpnviso_6.jpg  vipera.jpg
danilo@danilo-CX70-2PF:/var/www/Foto/danilo$ 
l'output dello script è:
[img]/home/danilo/Scaricati/x_forum.png[/img]

il sorgente generato è:

Codice: Seleziona tutto

<img alt="LOVE.png" src="/Foto/danilo/LOVE.png">
  <p /><img alt="chiusa_san_michele.png" src="/Foto/danilo/chiusa_san_michele.png">
  <p /><img alt="vipera.jpg" src="/Foto/danilo/vipera.jpg">
  <p /><img alt="marina.jpg" src="/Foto/danilo/marina.jpg">
  <p /><img alt="mpnviso_6.jpg" src="/Foto/danilo/mpnviso_6.jpg">
  <p />

se manualmente clicco su una entrata , ottengo questo:
[img]/home/danilo/Scaricati/x_forum_2.png[/img]


come posso risolvere?
grazie per l'aiuto
danilo
Allegati
x_forum_2.png
x_forum.png
Ultima modifica di trekfan1 il sabato 19 gennaio 2019, 15:53, modificato 2 volte in totale.
Motivazione: Per il futuro evita il tutto maiuscolo nel [Risolto], grazie
danyred
Prode Principiante
Messaggi: 28
Iscrizione: sabato 15 luglio 2017, 18:02
Desktop: ubuntu
Distribuzione: Ubuntu 20.04.1 LTS
Sesso: Maschile

Re: php non visualizza immagini da cartella

Messaggio da danyred »

ho risolto spostando la cartella delle Foto all'interno della cartela che contiene lo script php. Non mi piace,ma mi accontento.
ora però quando richiamo lo script , invece di visualizzare l'elenco delle img presenti nella cartella, vengono visualizzate subito le immagini.
come posso fare per avere l'elenco su cui cliccare la riga di cui voglio vedere la foto?
grazie
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 362
Iscrizione: venerdì 30 giugno 2006, 1:20
Distribuzione: gentoo
Sesso: Maschile

Re: php non visualizza immagini da cartella

Messaggio da Eresia »

ciao, ti ho riscritto lo script semplificandolo (commentando le parti che ti interessano) e eliminando parti inutili, ricordati che la cartella delle immagini deve trovarsi sullo stesso livello dello script, in questo caso puoi creare una cartella dentro a www/tuagallery/

Codice: Seleziona tutto

<?php
// nome della directory
$dirname = "foto/";

// leggo tutti i file [.jpg / .png / .gif] dentro alla directory
$gallery = glob($dirname . "*.{jpg,png,gif}", GLOB_BRACE);

if(is_dir($dirname)){
	// controllo se la directory è vuota
	if (count($gallery) === 0){
		
		// stampa un errore se la directory è vuota
		echo "directory vuota";
	} else {
		
		// cicla le immagini
		foreach($gallery as $image){
			
			// stampa i link alle immagini (la sezione che interessa te, puoi usare solo questa volendo)
			echo '<a href="' . $image . '" target="_blank">' . $image . '</a><br>';
			
			/* stampa le immagini (le miniature delle immagini)
			echo '<a href="' . $image . '" target="_blank"><img src="' . $image . '" height="100" width="100" /></a>';
			*/
		}
	}
} else {
	echo "nome della directory " . $dirname ." inesistente";
}
?>
emerge --auD --oneshot life/lucky-*
danyred
Prode Principiante
Messaggi: 28
Iscrizione: sabato 15 luglio 2017, 18:02
Desktop: ubuntu
Distribuzione: Ubuntu 20.04.1 LTS
Sesso: Maschile

Re: php non visualizza immagini da cartella

Messaggio da danyred »

grazie, sei stato veramente gentile, ora funziona come volevo io.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 10 ospiti