SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.02.2003, 14:37:00
StefanGe StefanGe ist offline
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
Mit Zitat antworten
  #2  
Alt 26.02.2003, 14:50:38
Ben20
Guest
 
Beiträge: n/a
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!
Mit Zitat antworten
  #3  
Alt 26.02.2003, 22:27:14
StefanGe StefanGe ist offline
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
Mit Zitat antworten
  #4  
Alt 26.02.2003, 23:11:14
Matthias Matthias ist offline
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]">" 
  

Mit Zitat antworten
  #5  
Alt 27.02.2003, 00:40:40
StefanGe StefanGe ist offline
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
Mit Zitat antworten
  #6  
Alt 27.02.2003, 09:19:09
Ben20
Guest
 
Beiträge: n/a
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!
Mit Zitat antworten
  #7  
Alt 27.02.2003, 09:32:05
Matthias Matthias ist offline
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
Mit Zitat antworten
  #8  
Alt 27.02.2003, 11:31:04
StefanGe StefanGe ist offline
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
Mit Zitat antworten
  #9  
Alt 01.03.2003, 13:45:30
StefanGe StefanGe ist offline
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
Mit Zitat antworten
  #10  
Alt 01.03.2003, 14:05:39
Ben20
Guest
 
Beiträge: n/a
Also in deinem Script kann ich keinen Fehler finden! Hast Du es mal mit rein numerischen Dateinamen versucht, also 1 statt 1.gif usw.
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:36:33 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt