prova così....
while (false !== ($entry = $d->read())) {
if (is_dir($d->path."/".$entry)){
.............
ciao
prova così....
while (false !== ($entry = $d->read())) {
if (is_dir($d->path."/".$entry)){
.............
ciao
Vi prego non mi ci mandate... ma unendo i due scritp precedentemente testati, non riesco ad ottenere quello che voglio.
Mi scrive:codice:<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1"> <?php $d = dir("galleria/"); while (false !== ($entry = $d->read())) { if (is_dir($d->path."/".$entry)){ if($entry != "." && $entry != "..") { echo "<tr><td width=\"50%\"><p align=\"center\">$entry</td>"; if(false !== ($entry = $d->read())){ if (is_dir($d->path."/".$entry)){ //se è una directory creo una nuova variabile $d2 = dir("entry/"); //creo un nuovo indice $entry2 = $d2->read(); //inserisco la prima immagine in quella cartella echo "<img src=\"$entry2\">"; $d2->close(); echo "<td width=\"50%\"><p align=\"center\">$entry</td></tr>"; } } else { echo "<td width=\"50%\"></td></tr>"; break; } } } } $d->close(); ?> </table>
Warning: dir(Nuova cartella/): failed to open dir: Invalid argument in C:\WM\www\elenco.php on line 13
Fatal error: Call to a member function on a non-object in C:\WM\www\elenco.php on line 14
christian
Non posso modificare quello precedente, quindi mi "rispondo da solo".
Con questo codice riesco a elencare le cartelle e ad entrare dentro "esse" per leggere il contenuto.
Il problema è che a me interessa solo il primo file che trova e quindi ho provato a sostituirecodice:<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" 1" width="100%" id="AutoNumber1"> <?php $d = dir("galleria/"); while (false !== ($entry = $d->read())) { if (is_dir($d->path."/".$entry)){ if($entry != "." && $entry != "..") { echo "<tr><td width=\"50%\"><p align=\"center\">$entry</td>"; if(false !== ($entry = $d->read())){ if (is_dir($d->path."/".$entry)){ if ($dh = opendir("galleria/" . $entry)) { while (($file = readdir($dh)) !== FALSE) { echo "<img src=\"galleria/$entry/$file\" width=\"50\" height=\"50\">"; echo "<td width=\"50%\"><p align=\"center\">$entry</td></tr>"; } closedir($dh); } } } else { echo "<td width=\"50%\"></td></tr>"; break; } } } } $d->close(); ?> </table>concodice:while (($file = readdir($dh)) !== FALSE) {
ma non mi fa vedere nulla.codice:$file = readdir($dh);
Sapete come posso fare?
Grazie!
prova a sostituire
while (($file = readdir($dh)) !== FALSE)
con
if(($file = readdir($dh)) !== FALSE)
Ho provato ma praticamente mi mette un'immagine vuota che ha come percorso "http://localhost/galleria/roberta/" (giusto!).
Il percorso esatto sarebbe:
"http://localhost/galleria/roberta/nomefile.ext"
prova così:
if(($file = readdir($dh)) !== FALSE)
if($file != "." && $file != "..")
.............
Ora non mi mostra neanche l'immagine "vuota".
hai ragione...prova così:
$fileToShow = "";
while (($file = readdir($dh)) !== FALSE)
{
if($file != "." && $file != "..")
$fileToShow = $file;
}
e poi fai:
echo"<img src=\"galleria/$entry/$fileToShow..........
ora dovrebbe andare...