explode(), mit dem Ordnerinhalt

wottri
Hallo. In einem anderen phpforum hat mir jemand dieses Script gegeben:


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
<?php
// zu trennender Dateiname
$bild "101-011_12.10.03_13.32_ Mannheim HBF.jpg";

// Array aus Dateinemen erstellen. Trennzeichen muss in diesem Fall immer der Unterstrich "_" sein.
$stueck explode('_'$bild);

// Text aus "<p>", Bezeichnung und Array zusammenstellen. 2. Teil folgt
$text "<p>Loknummer:&nbsp; $stueck[0]<br />
Datum:&nbsp;$stueck[1]<br />
Uhrzeit:&nbsp;$stueck[2]<br />";

// 2. Array aus "Mannheim HBF.jpg erzeugen. Diesesmal muss das Trennzeichen immer ein Punkt sein.
$ort explode('.'$stueck[3]);

// Text weiterführen und mit "</p>" abschließen.
$text .= "Ort:&nbsp;$ort[0]</p>";

// Text anzeigen
echo $text;
?>


Weiß jemand, wie man es machen kann dass dieses Script den ganzen Ordnerinhalt zeigt? Also das man nicht immer das Script koperen muss, sondern das es Automatisch den Ordnerinhalt so behandelt, und unter dem Text das Bild dazu anzeigt?

MfG Danny.
Dizzy.w3
Hi,

ich verstehe dein Anliegen nicht. Willst du ein Script, dass den kompletten Ordnerinhalt anzeigt (nicht nur das 1 Bild), nach dem Schema

Zitat:
Loknummer:
Datum:
Uhrzeit:
Ort:


Habe schnell was erstellt, müsste so gehen:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
<?php

$dir ''// Hier bitte Verzeichnis angeben

while($file readdir($dir));
{
    $part explode('_',$file);
    $location explode('.'$part[3]);
    $output .= "<p>Loknummer:&nbsp; $part[0]<br />Datum:&nbsp;$part[1]<br />Uhrzeit:&nbsp;$part[2]<br />Ort:&nbsp;$location[0]</p>";
}

echo $output;
?>


Oder was?

Gruß
Dizzy
wottri
Ja, genau das will ich.

Danke erstmal.

code:
1:
Warning: readdir(): supplied argument is not a valid Directory resource in /www/htdocs/w008bd96/gal.php on line 5


Zitat:


Warning: readdir(): supplied argument is not a valid Directory resource in /www/htdocs/w008bd96/gal.php on line 5

Loknummer:
Datum:
Uhrzeit:
Ort:


So sieht die Seite aus. Da stimmt doch irgentetwas nicht?!?

MfG Danny.
Dizzy.w3
Hast du in
php:
1:
$dir '';


Auch ein Verzeichnis rein geschrieben? - Wenn du das Verzeichnis dieser Datei haben willst, müsste

php:
1:
$dir '.';


funktionieren.

Gruß
Dizzzy
wottri
Funktioniert trotzdem nicht unglücklich

MfG Danny.
Dizzy.w3
Fehler?
Ausgabe?
wottri
Warning: readdir(): supplied argument is not a valid Directory resource in /www/htdocs/w008bd96/101/gal.php on line 5

Loknummer:
Datum:
Uhrzeit:
Ort:


also wie vorhin.
Dizzy.w3
php:
1:
$dir 'www.deineDomain.tld/ordner';
wottri
Auch nicht besser :'(

Warning: readdir(): supplied argument is not a valid Directory resource in /www/htdocs/w008bd96/101/gal.php on line 5

Loknummer:
Datum:
Uhrzeit:
Ort:
Dizzy.w3
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<?php
$fileList glob('*.jpg');

foreach ($fileList as $file)
{
    $part explode('_'$file);
    $location explode('.'$part[3]);
    $output .= "<p>Loknummer:&nbsp; $part[0]<br />Datum:&nbsp;$part[1]<br />Uhrzeit:&nbsp;$part[2]<br />Ort:&nbsp;$location[0]</p>";
}
echo $output;
?>


Hatte schon länger nichts mehr mit PHP zutun. Jetzt sollte es aber wirklich gehen.
wottri
Sollte...

Loknummer:
Datum:
Uhrzeit:
Ort:

JEtzt müsste ja blosnoch das Bild angezeigt werden und der Text dabeistehen. Die Fehlermeldung ist zumindest nicht mehr.
Dizzy.w3
Also ... so etwas kann gar nicht passieren. Denn der Code wird so oft ausgegeben, wie Dateien gefunden werden. Werden Dateien gefunden, werden die Inhalte auch angezeigt. Ich hab's lokal ausprobiert und es geht.

Eventuell musst du erst in

php:
1:
glob();


Den Pfad anpassen.

Aber durch so eine Fehleingabe kann so etwas nicht passieren. Kopiere den Code nochmal.

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
<?php
$fileList glob('*.jpg');

foreach ($fileList as $file)
{
    $part explode('_'$file);
    $location explode('.'$part[3]);
    $output .= "<p>Loknummer:&nbsp; $part[0]<br />Datum:&nbsp;$part[1]<br />Uhrzeit:&nbsp;$part[2]<br />Ort:&nbsp;$location[0]</p>";
}
echo $output;
?>


Edit://
Vergessen, dass die Bilder auch angezeigt werden sollen:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
<html>
<body>
<table border="1">
<?php
$fileList glob('*.jpg'); // Anpassen nicht vergessen!
$URL 'http://name.tld/OrdnerDerBilder/'// Anpassen nicht vergessen!

foreach ($fileList as $file)
{
    $name $URL.$file;
    $part explode('_'$file);
    $location explode('.'$part[3]);
    $output .= "<tr><td>Loknummer:&nbsp; $part[0]<br />Datum:&nbsp;$part[1]<br />Uhrzeit:&nbsp;$part[2]<br />Ort:&nbsp;$location[0]</td><td><img src='$name' border='0' /></td></tr>";
}

echo $output;
?>
</table>
</body>
</html>
wottri
Und wo muss ich da nun was anpassen?
Dizzy.w3
Dort wo

php:
1:
// Anpassen nicht vergessen


Steht Augenzwinkern
wottri
Als ich die frage geschrieben hab was das Edit noch nicht fröhlich

So getestet und es Funzt!

Vielen,vielen,vielen,vielen Dank!

MfG Danny.
Dizzy.w3
Zitat:
Original von wottri
Als ich die frage geschrieben hab was das Edit noch nicht fröhlich


Doch, aber beim 2. hab ich das Kommentieren vergessen.

Na ja, zum Glück hat die Prozedur ein Ende, und alle sind glücklich. smile