CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
26.02.2003, 14:37:00
|
Anfänger
|
|
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
|
|
open/readdir - Verzeichnislisten sortieren
Hi!
ich habe ein kleines PHP, mit dem ich den Inhalt von Verzeichnissen auslesen und anzeigen lasse:
<?PHP
$dirhandle = opendir("$folderA");
while ($file = readdir ($dirhandle))
echo "$file<br>";
?>
Frage 1:
Leider ist die Ausgabe unsortiert. Wie bekomme ich es hin, dass die ausgelesenen Dateien sortiert sind (nach "Name" - also alphabetisch - würde mir schonmal reichen!)? Auch kann ich in der Ausgabe bisher kein Sortier-System (Datum, Größe, Name) erkennen (da aber jedes Mal die selbe Sortierung rauskommt, muss es ja eins geben).
Frage 2:
Wie bekomme ich es hin, dass mir zusätzlich zum Dateinamen die Grafiken an sich gelistet werden (keine thumbnails, sondern 1zu1).
Bin leider PHP-Anfänger und danke Euch für Eure Hilfe!!! ...
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
|
26.02.2003, 14:50:38
|
|
Sortiern kannst Du die Dateien nur, indem Du sie vor der Ausgabe in ein Array einließt, dieses Sortierst und dann ausgibst.
Die Sortierfunktionen findest Du in der Selfphpfunktionsreferenz.
Die Bilder läßt Du anzeigen indem Du bei der Ausgabe noch
"<img src="$varMitDemDateinameDrin" />"
mit einbaust!
|
26.02.2003, 22:27:14
|
Anfänger
|
|
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
|
|
Hallo Ben,
danke, ich bekomme es jetzt mit Krücken hin, in einer Tabelle in der linken Spalte mir die Grafiken aus Verzeichnis A und in der rechten Spalte die Grafiken aus Verzeichnis B zu listen.
Sehr stark verkürzt also sowas:
<?PHP
$folder1 = opendir("$folderA1");
while($fA1 = readdir ($folder1))
echo "<IMG SRC="$folder1/$fA1">"
?>
Die Ordnerangabe kommt aus einem Eingabefeld mit dem Namen "folderA1".
Nur wie bekomme ich jetzt vor der Ausgabe die Grafiken in "$fA1"vorher sortiert? *Wo* baue ich das array ein? Mit den Beispielen in der Funktionsreferenz komme ich leider gar nicht klar :-(
Wäre sehr dankbar für einen Tip :-)
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
|
26.02.2003, 23:11:14
|
Moderator
|
|
Registriert seit: Jan 2002
Ort: CologneCity
Alter: 46
Beiträge: 484
|
|
So klappt's
PHP-Code:
$folder1=opendir("$folderA1");
while($fA1=readdir ($folder1))
{
if(is_file($fA1)) $afile[]=$fA1;
}
closedir($folder1);
rsort($afile);
$anz=count($afile);
for($i=$start;$i<$anz;$i++)
{
echo "<IMG SRC="$folder1/$afile[$i]">"
}
|
27.02.2003, 00:40:40
|
Anfänger
|
|
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
|
|
Hallo Matthias,
ich habe in der echo Zeile "$folder1" gegen "$folderA1" ausgetauscht und am Ende ein Semikolon eingefügt (ich hasse diese Semikolons. Stunden haben sie mich schon gekostet!) und jetzt geht es.
ABER: Er sortiert nicht. Oder nicht richtig.
Ich habe nun ein wenig mit der Zeile "rsort($afile);" gespielt und mal nur "sort($afile);" oder "asort($afile);" probiert - die Ergebnisse sind zwar jedesmal anders -, aber eben nicht sortiert: Statt 1-2-3 bekomme ich 3-2-1 Listings oder ganz durcheinander oder es ist zwar logisch aber nutzlos sortiert:
10-11-12-2-3-4-44-45.
Was ist der Kniff?
(Kann ich eigentlich Code auch mit den vB Befehlen formatieren? In meinem Profil stehen sie auf aus?)
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
|
27.02.2003, 09:19:09
|
|
Du kannst noch rsort verwenden, dann soltest Du 3-2-1 Listings bekommen. natsort ist vielleicht auch ne Idee dann solltest Du 1 - 2 - 3 .. - 10 - 11 - 12 ... - 21 Listings bekommen!
|
27.02.2003, 09:32:05
|
Moderator
|
|
Registriert seit: Jan 2002
Ort: CologneCity
Alter: 46
Beiträge: 484
|
|
oh!!
hatte die Zeile bei dir oben Kopiert. ups. hätte wohl besser kucken sollen. sorry.
Bei mir im Script reicht ein rsort oder sort, aber Ben hat recht, für eine "natürliche Reihenfolge" solltest du natsort benutzen.
http://www.selfphp.info/funktionsref...en/natsort.php
|
27.02.2003, 11:31:04
|
Anfänger
|
|
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
|
|
Hi Ben und Matthias,
Danke für Eure Mühen. Leider sortiert auch natsort nicht so, wie in der Referenz beschrieben - das Ergebnis ist nach wie vor unsortiert:
PHP-Code:
$folder1 = opendir("$folderA1");
while($fA1=readdir($folder1))
{
if(!is_dir($fA1)) $afile[]=$fA1;
}
closedir($dir);
natsort($afile);
$anz=count($afile);
for($i=$start;$i<$anz;$i++)
{
echo "
<P><IMG SRC="$afile[$i]"></P>n
<P>$afile[$i]</P>n";
}
Das Ergebnis ist:
a2.gif, 12.gif, 11.gif, 1.gif, 4.gif, 2.gif, 5.gif, 6.gif, 7.gif, 8.gif, 9.gif, 10., gifa1.gif
Das kann doch nicht so schwer sein? Hab ich 'n Brett vorm Kopf?
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
|
01.03.2003, 13:45:30
|
Anfänger
|
|
Registriert seit: Feb 2003
Ort: NRW
Beiträge: 15
|
|
Huhu!
Könntet Ihr Euch nochmal mein letztes Script anschauen? Ich bin leider noch zu keiner Lösung gekommen :-((((
Tausend Dank!
__________________
Ciao,
Stefan
-------------------------------------------
"Nobody will ever need more than 640k RAM!"
1981 Bill Gates
|
01.03.2003, 14:05:39
|
|
Also in deinem Script kann ich keinen Fehler finden! Hast Du es mal mit rein numerischen Dateinamen versucht, also 1 statt 1.gif usw.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:36:33 Uhr.
|