php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 22-08-2006, 11:47
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard ordner in array einlesen und sortieren

hallo.

ich beiße mir gerade die zähne daran aus den ordnerinhalt in ein array einzulesen und das array dann noch in umgekehrter reihenfolge anzeigen zu lassen.
vielleicht kann mir ja hier jemand weiterhelfen.

mein ansatz:
PHP-Code:
if (is_dir($ordner)) {
       if (
$dh opendir($ordner)) {
           while ((
$file readdir($dh)) !== false) {
               if (
$file != "." AND $file != ".."){
               
$wo fopen($ordner $file "r");
                    
$zeile1 = array(fgets($wo150));
            }
           }
           
closedir($dh);
       }
    } 
ich habe leider keine ahnung wie ich die schleife ins array bekomme, so ist jede zeile ihr eigenes array (glaub ich zumindest). in dem ordner sind textdateien von denen die erste zeile dann als link wiedergegeben wird, das bekomme ich auch ohne probleme hin nur es sollte halt in ungekehrter reihenfolge angezeigt werden.
Mit Zitat antworten
  #2 (permalink)  
Alt 22-08-2006, 11:52
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

sort(), asort() und Kollegen schon kennengelernt? Gibt es auch reverse ...
Mit Zitat antworten
  #3 (permalink)  
Alt 22-08-2006, 11:58
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja die hab ich schon gefunden aber damit geht nicht mit dem was ich jetzt habe. wenn ich reverse eingebe bekomme ich immer eine meldung das ich ein array dafür benötigen würde.
Mit Zitat antworten
  #4 (permalink)  
Alt 22-08-2006, 12:02
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: ordner in array einlesen und sortieren

Zitat:
Original geschrieben von ostyle
ich habe leider keine ahnung wie ich die schleife ins array bekomme, so ist jede zeile ihr eigenes array (glaub ich zumindest).
Umgangssprachlicher Murks, der dann seine Fortsetzung im Programmcode findet ...


Was du wohl eigentlich möchtest, ist jeden im Laufe der Schleife ermittelten Datensatz als ein neues Element im Array abzulegen.

Wie das geht, steht im Manual bzgl. Arrays ganz gut erklärt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 22-08-2006, 12:12
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: ordner in array einlesen und sortieren

Zitat:
Original geschrieben von wahsaga
Umgangssprachlicher Murks, der dann seine Fortsetzung im Programmcode findet ...
es sind halt nicht alle so tolle progger so manch einer hier, ich halte mich mit meinen fragen hier schon sehr zurück und suche lieber 2 stunden! wenn man dann mal nicht klar kommt wird man nur schräg angemacht, find ich sehr traurig...

ich frage hier weil ich keine ahnung habe wie ich das problem hinbekomme, aber ich werde dann auch nocheinmal das manual fragen vielleicht versteh ich es ja diesesmal...

vielen dank auch
Mit Zitat antworten
  #6 (permalink)  
Alt 22-08-2006, 13:15
prego
 PHP Senior
Links : Onlinestatus : prego ist offline
Registriert seit: May 2005
Ort: Herborn
Beiträge: 1.609
prego ist zur Zeit noch ein unbeschriebenes Blatt
Standard

glob()?
Mit Zitat antworten
  #7 (permalink)  
Alt 22-08-2006, 18:09
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so nun bin ich wirklich am ende.
ich bekomme es hin das mir die erste zeile der jeweiligen datei angezeigt wird, ich bekomme es auch hin da einen link drauf zu setzten ich bekomme es nur nicht hin das mir die letzte datei im verzeichnis als erstes angezeigt wird, vielleicht hat ja doch jemand noch eine idee wie ich das realisieren kann?
Mit Zitat antworten
  #8 (permalink)  
Alt 22-08-2006, 18:26
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Hast du die Daten jetzt in ein Array eingelesen, und gibst sie dann aus diesem aus?
Dann sind wir wieder bei den anfänglichen Tipps ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #9 (permalink)  
Alt 22-08-2006, 18:37
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn ich ja etwas mit den anfänglichen tipps anfangen könnte würde ich ja nicht nach hilfe fragen.
also nochmal.
ich komme einfach nicht dahinter wie ich das mit der schleife hinbekomme.
ich habe es jetzt so versucht:
PHP-Code:
       $arr = array();
    
$ordner "/verzeichnis/";
           if (
$dh opendir($ordner)) {
                    while ((
$file readdir($dh)) !== false) {
                        if (
$file != "." AND $file != ".."){
                            
$wo fopen($ordner $file "r");
                            
$zeile1 fgets($wo150);
                        }    
        
$arr .= $zeile1;
        
$arr .= "<br>";
                        }
               
closedir($dh);
           }
        echo 
$arr
es werden dann auch die daten die ich möchte ausgegeben. leider kann ich sie nicht umdrehen. vielleicht ein kleiner tipp wo der denkfehler liegt? ich habe bis jetzt nur mit datenbanken gearbeitet da ist sowas ja einfach. mit dateien und ordnern komm ich leider noch nicht wirklich klar.
Mit Zitat antworten
  #10 (permalink)  
Alt 22-08-2006, 18:53
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Du hast die Daten immer noch nicht zuerst in ein Array eingefügt, sondern hängst sie nur in einem String hintereinander - damit ist ein sortieren mit vertretbarem Aufwand nicht mehr möglich.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 22-08-2006, 19:11
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ok, das vesteh ich. doch leider habe ich keine ahnung wie ich das zusammenbekommen soll?
ich hab nen totales brett vorm kopf. ich verstehe einfach nicht wie ich die daten ins array bekomme.
Mit Zitat antworten
  #12 (permalink)  
Alt 22-08-2006, 19:14
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

$arr[]= $zeile1."<br>";

[edit] bevor die nächste frage kommt:
rsort($arr);
echo implode('', $arr);
wobei der zeilenumbruch auch bei implode rein könnte

Geändert von 3DMax (22-08-2006 um 19:21 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 22-08-2006, 19:26
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so vielen dank an euch jetzt geht es. so schwer hab ich mich noch nie getan und es war doch eigentlich so einfach.
hier noch mal das komplette ding:

PHP-Code:
 $arr = array();
    
$ordner "/verzeichnis/";
           if (
$dh opendir($ordner)) {
                    while ((
$file readdir($dh)) !== false) {
                        if (
$file != "." AND $file != ".."){
                            
$wo fopen($ordner $file "r");
                            
$zeile1 fgets($wo150);
                        }    
                        
$arr[]= $zeile1."<br>";
                    }
               
closedir($dh);
           }
        
$arr1 array_reverse($arr);
        
$anz count($arr1);
        for(
$i 0$i $anz$i++){
        echo 
$arr1[$i];
        } 
es gibt bestimmt schönere scripte aber das hier funktioniert.
es ließt das angegebene verzeichnis aus,
öffnet die dateien und gibt die erste zeile zurück
und ganz wichtig es dreht die reihenfolge um.
vielen dank nochmal
Mit Zitat antworten
  #14 (permalink)  
Alt 06-09-2006, 13:49
ostyle
 Newbie
Links : Onlinestatus : ostyle ist offline
Registriert seit: Feb 2002
Beiträge: 73
ostyle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hallo nochmal,

ich habe noch ein anderes problem mit dem thema hier. ich habe es noch etwas umgeschrieben:
PHP-Code:
  <?php 
    $arr 
= array();
    
$ordner $_SERVER['DOCUMENT_ROOT'] . "/news/";
           if (
$dh opendir($ordner)) {
                    while ((
$file readdir($dh)) !== false) {
                    
                        if (
$file != "." AND $file != ".."){
                            
$wo fopen($ordner $file "r");
                            
$zeile1 file($ordner $file "r");
                            
                            
$anz count($zeile1);
                            
$arr[] = "<p class=\"head\">" $zeile1[0] . "</p>";
                            for(
$i=1$i$anz;$i++) {
                            
$arr[] = $zeile1[$i];
                            }
                        }
                    }
               
closedir($dh);
           }
        
$anz count($arr);
        for(
$i 0$i $anz$i++){
        echo 
nl2br($arr[$i]);
    }
    
?>
nur leider durch die änderung klappt es mit dem umdrehen der reihenfolge nicht mehr. mit array_reverse dreht er mir auch den text um, wie kann ich das hier realisieren?
olli
Mit Zitat antworten
  #15 (permalink)  
Alt 06-09-2006, 23:25
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

am ende
PHP-Code:
for($i anz-1$i >= 0$i--)
echo 
nl2br($arr[$i]); 
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:30 Uhr.