[Risolto]php non visualizza immagini da cartella

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

[Risolto]php non visualizza immagini da cartella

Messaggioda danyred » mercoledì 16 gennaio 2019, 20:17

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, 16:53, modificato 2 volte in totale.
Motivazione: Per il futuro evita il tutto maiuscolo nel [Risolto], grazie
danyred
Prode Principiante
 
Messaggi: 10
Iscrizione: luglio 2017
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: php non visualizza immagini da cartella

Messaggioda danyred » venerdì 18 gennaio 2019, 13:42

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
danyred
Prode Principiante
 
Messaggi: 10
Iscrizione: luglio 2017
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile

Re: php non visualizza immagini da cartella

Messaggioda Eresia » venerdì 18 gennaio 2019, 20:28

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";
}
?>
Avatar utente
Eresia
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 324
Iscrizione: giugno 2006
Distribuzione: Solus
Sesso: Maschile

Re: php non visualizza immagini da cartella

Messaggioda danyred » sabato 19 gennaio 2019, 12:17

grazie, sei stato veramente gentile, ora funziona come volevo io.
danyred
Prode Principiante
 
Messaggi: 10
Iscrizione: luglio 2017
Desktop: ubuntu
Distribuzione: Ubuntu 16.04.2 LTS x86_64
Sesso: Maschile


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 3 ospiti