[PHP] opendir(), closedir(), readdir() oppure glob()

Punto di Ritrovo. Sezione dove poter scambiare due chiacchiere.

Moderatore: VT Moderators

Rispondi
Avatar utente
FedericoBiccheddu
Messaggi: 9448
Iscritto il: sab mag 12, 2007 16:38
Contatta:

[PHP] opendir(), closedir(), readdir() oppure glob()

Messaggio da FedericoBiccheddu » ven giu 20, 2008 10:18

Salve a tutti gli appassionati di PHP, in poche parole devo creare una pagina che mi legga il contenuto di una cartella ( images/banner/ ) e che mi generi una tabella, esempio:
Io sto utilizzando un codice simile:

Codice: Seleziona tutto

<?php

if ($handle = opendir('/web/htdocs/www.makingart.org/home/images/banner')) {
    echo "Handle della directory: $handle\n";
    echo "File:\n";

   while (false !== ($file = readdir($handle))) { 
       echo "$file\n";
   }

   while ($file = readdir($handle)) { 
       echo "$file\n";
   }

   closedir($handle); 
}

?>
Devo generare una tabella ( <table></table> ) in modo che:
  1. Venga visualizzato il file (è un imaggine, quindi devo ricorrere all' <img src="" /> ).
  2. Venga generato anche il link, ma questo dovrei riuscirci utilizzando qualche variabile globale $_SERVER[] e qualche textarea ( <textarea></textarea> ).
  3. Il processo venga chiuso, però sicuramente, che il server non lavori inutilmente lasciando aperto il ciclo della funzione, anche se si dovrebbe chiudere tutto con closedir($handle); ?

Avatar utente
Decoy
Novice
Novice
Messaggi: 3845
Iscritto il: sab mar 15, 2008 19:18
Località: Potenza[pz]

Re: [PHP] opendir(), closedir(), readdir() oppure glob()

Messaggio da Decoy » ven giu 20, 2008 10:25

J.C. Design ha scritto:Salve a tutti gli appassionati di PHP, in poche parole devo creare una pagina che mi legga il contenuto di una cartella ( images/banner/ ) e che mi generi una tabella, esempio:
Io sto utilizzando un codice simile:

Codice: Seleziona tutto

<?php

if ($handle = opendir('/web/htdocs/www.makingart.org/home/images/banner')) {
    echo "Handle della directory: $handle\n";
    echo "File:\n";

   while (false !== ($file = readdir($handle))) { 
       echo "$file\n";
   }

   while ($file = readdir($handle)) { 
       echo "$file\n";
   }

   closedir($handle); 
}

?>
Devo generare una tabella ( <table></table> ) in modo che:
  1. Venga visualizzato il file (è un imaggine, quindi devo ricorrere all' <img src="" /> ).
  2. Venga generato anche il link, ma questo dovrei riuscirci utilizzando qualche variabile globale $_SERVER[] e qualche textarea ( <textarea></textarea> ).
  3. Il processo venga chiuso, però sicuramente, che il server non lavori inutilmente lasciando aperto il ciclo della funzione, anche se si dovrebbe chiudere tutto con closedir($handle); ?
.....ke? :out: :out2:
putain christ!
ImmagineImmagine
ImmagineImmagine
ImmagineImmagine

Avatar utente
deotuning
Messaggi: 4372
Iscritto il: ven nov 25, 2005 19:36
Località: NAPOLI

Re: [PHP] opendir(), closedir(), readdir() oppure glob()

Messaggio da deotuning » ven giu 20, 2008 11:12

Decoy ha scritto:
J.C. Design ha scritto:Salve a tutti gli appassionati di PHP, in poche parole devo creare una pagina che mi legga il contenuto di una cartella ( images/banner/ ) e che mi generi una tabella, esempio:
Io sto utilizzando un codice simile:

Codice: Seleziona tutto

<?php

if ($handle = opendir('/web/htdocs/www.makingart.org/home/images/banner')) {
    echo "Handle della directory: $handle\n";
    echo "File:\n";

   while (false !== ($file = readdir($handle))) { 
       echo "$file\n";
   }

   while ($file = readdir($handle)) { 
       echo "$file\n";
   }

   closedir($handle); 
}

?>
Devo generare una tabella ( <table></table> ) in modo che:
  1. Venga visualizzato il file (è un imaggine, quindi devo ricorrere all' <img src="" /> ).
  2. Venga generato anche il link, ma questo dovrei riuscirci utilizzando qualche variabile globale $_SERVER[] e qualche textarea ( <textarea></textarea> ).
  3. Il processo venga chiuso, però sicuramente, che il server non lavori inutilmente lasciando aperto il ciclo della funzione, anche se si dovrebbe chiudere tutto con closedir($handle); ?
.....ke? :out: :out2:
:weat: e come non quotarti!!! XD
:roll: l'unica cosa è ke io stè cose all'incirca dovrei saperle.... :laugh: :laugh: :laugh:
ImmagineImmagine

Avatar utente
AWB
VIP
VIP
Messaggi: 2430
Iscritto il: dom lug 08, 2007 11:41
Località: Sansepolcro (AR)
Contatta:

Messaggio da AWB » ven giu 20, 2008 13:15

allora.. ci provo io... :umm:

ti serve leggere una cartella che contiene delle immagini da linkare giusto??

Avatar utente
FedericoBiccheddu
Messaggi: 9448
Iscritto il: sab mag 12, 2007 16:38
Contatta:

Messaggio da FedericoBiccheddu » ven giu 20, 2008 13:45

AWB ha scritto:allora.. ci provo io... :umm:

ti serve leggere una cartella che contiene delle immagini da linkare giusto??
Esatto, ora sono riuscito a ottenere qualcosa con questo codice qui:

Codice: Seleziona tutto

<?php
$dir = 'http://www.makingart.org/images/banner/';

if ($handle = opendir('/web/htdocs/www.makingart.org/home/images/banner')) {

    echo "<table border="0">";
	
   while (false !== ($file = readdir($handle))) {
   echo "
   <tr>
   <td>
   <img src="$dir$file" />
   </td>
   <td>
   <form name="select_all">
   <textarea readonly="readonly" style="width:700px;height:15px;" readonly="readonly" name="text_area" onClick="javascript:this.form.text_area.focus();this.form.text_area.select();">$dir$file</textarea>
   </form>
   </td>
   </tr>";
   }
   
   echo "</table>";
   closedir($handle); 
}
?> 
Ma il problema è che mi mette all'inizio due file "." e ".." e poi non mi visualizza le immagini :umm:

Avatar utente
AWB
VIP
VIP
Messaggi: 2430
Iscritto il: dom lug 08, 2007 11:41
Località: Sansepolcro (AR)
Contatta:

Messaggio da AWB » ven giu 20, 2008 14:57

uhm... allora..invece di così

Codice: Seleziona tutto

   <img src=\"$dir$file\" />
provato a scrivere così??

Codice: Seleziona tutto

   <img src="$dir$file" />
oppure la sintassi è proprio in quel modo??


:umm:

Avatar utente
FedericoBiccheddu
Messaggi: 9448
Iscritto il: sab mag 12, 2007 16:38
Contatta:

Messaggio da FedericoBiccheddu » ven giu 20, 2008 15:02

Essendo una pagina in php, non posso utilizzare le " senza il backslash ( \ ) prima, perchè sto stampando a video HTML, e mettendo solamente " la funzione echo viene chiusa prima, quindi mi restituisce un errore di sintassi [asd]

AWB mi deludi tantissimo, prima ti chiedevo come creare un tabella in html e ora ti devo fare pure lezioni base HTML / PHP??
:laugh: :linguaccia:

Avatar utente
AWB
VIP
VIP
Messaggi: 2430
Iscritto il: dom lug 08, 2007 11:41
Località: Sansepolcro (AR)
Contatta:

Messaggio da AWB » ven giu 20, 2008 15:09

J.C. Design ha scritto:Essendo una pagina in php, non posso utilizzare le " senza il backslash ( \ ) prima, perchè sto stampando a video HTML, e mettendo solamente " la funzione echo viene chiusa prima, quindi mi restituisce un errore di sintassi [asd]

AWB mi deludi tantissimo, prima ti chiedevo come creare un tabella in html e ora ti devo fare pure lezioni base HTML / PHP??
:laugh: :linguaccia:
:weat:

io non mai usato la sintassi che ho visto sul tuo codice.. la echo l'ho utilizzata sempre per ogni riga.. così..

Codice: Seleziona tutto

echo("codice html");

Avatar utente
FedericoBiccheddu
Messaggi: 9448
Iscritto il: sab mag 12, 2007 16:38
Contatta:

Messaggio da FedericoBiccheddu » ven giu 20, 2008 15:12

Ma è la stessa cosa, come vedi stai definendo il contenuto da stampare dopo le " quindi appena ne rimetti un'altra ti chiude la funzione.
Prova a scrivere così:

Codice: Seleziona tutto

echo ("
<table border="0">
<tr>
<td>
codice HTML
</td>
</tr>
</table>");
Ti verrà restituito un errore con ',' o ';' :D

Avatar utente
AWB
VIP
VIP
Messaggi: 2430
Iscritto il: dom lug 08, 2007 11:41
Località: Sansepolcro (AR)
Contatta:

Messaggio da AWB » ven giu 20, 2008 15:34

stai cominciando a saperne più di me.... :oops:
adesso mi documento e poi ti faccio il :ass:.... :D

Avatar utente
FedericoBiccheddu
Messaggi: 9448
Iscritto il: sab mag 12, 2007 16:38
Contatta:

Messaggio da FedericoBiccheddu » ven giu 20, 2008 19:57

Ho scritto così e i puntini me li ha eliminati ma non capisco perchè le immagini vengono visualizzate quando vogliono loro, se la apro all'inizio si vedono, poi aggiorno e non si vedono più :umm:

Codice: Seleziona tutto

<?php
$dir = 'http://www.makingart.org/images/banner/';

if ($handle = opendir('/web/htdocs/www.makingart.org/home/images/banner')) {

    echo "<table border=\"0\">";
	
   while (false !== ($file = readdir($handle))) {
   if (($file != "..") and ($file != ".")) { 
   echo "
   <tr>
   <td>
   <img src=\"$dir$file\" />
   </td>
   <td>
   <form name=\"select_all\">
   <textarea readonly=\"readonly\" style=\"width:700px;height:15px;\" readonly=\"readonly\" name=\"text_area\" onClick=\"javascript:this.form.text_area.focus();this.form.text_area.select();\">$dir$file</textarea>
   </form>
   </td>
   </tr>";
   }
   }
   echo "</table>";
   closedir($handle); 
}
?>

Rispondi