tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
758
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    Hallo Leute,

    ich möchte für ein Kundenmenü einen Ordner auslesen indem sich PDF Dateien befinden.
    Und zwar sollen alle PDF Dateien die z.b. mit 101010 beginnen berücksichtigt werden alle anderen aber nicht.

    Hat mir jemand einen Tipp wie ich das machen kann ?!.

    Gruss
     

  2. #2
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Mit PHP kann man leider keine Ordner auslesen, denn die stehen im Schrank und enthalten Unterlagen, und da kommt PHP nunmal nicht dran.
    Was Du aber auslesen kannst sind Verzeichnisse.
    Du oeffnest einfach Dein Verzeichnis mit open(), liest alles nach und nach mit readdir() aus, vergleichst ob der Eintrag mit Deinem String anfaengt und am Ende schliesst Du das Verzeichnis noch mit closedir().
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  3. #3
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    Danke Dir.
    Also das Verzeichnis konnte ich mittlerweile auslesen und die Dateien werden auch angezeigt.
    Allerdings komme ich einfach nicht drauf wie ich das mit dem vergleichen machen soll.

    Dafür bietet doch php schon eine fertige Funktion oder ?

    Gruss
     

  4. #4
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Das kannst Du mit Hilfe von substr() loesen.
    Beispiel (hier werden alle Dateien die mit 12345 anfangen ausgegeben):
    PHP-Code:
    $prefix="12345";
    $dir=opendir("./");
    while (
    $file=readdir($dir))
    {
     if (
    substr($file,0,strlen($prefix))==$prefix)
     {
      echo 
    $file.'<br>';
     }

     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  5. #5
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Du könntest auch mit regulären Ausdrücken arbeiten:
    PHP-Code:
    <?php

        $dir 
    opendir('./');
        while( 
    $file readdir($dir) ) {
            if( !
    preg_match('<^101010.*\.pdf>'$file) ) {
                continue;
            }
            echo 
    $file '<br>';
        }

    ?>
     
    Markus Wulftange

  6. #6
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Zitat Zitat von Gumbo
    Du könntest auch mit regulären Ausdrücken arbeiten
    Ich denke in diesem Fall waere das wohl ungefaehr wie mit dem Panzer auf Fuchsjagd zu gehen ein klein wenig uebertrieben.
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  7. #7
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Mir ging es nicht unbedingt um die Unterbreitung des effektivsten Vorschlags, sondern eher um die Aufzählung einer weiteren Möglichkeit zur Lösung des Problems. Nur weil für manch einen die Syntax regulärer Ausdrücke zu abstrakt und kryptisch wirkt, heißt es noch lange nicht, dass das Arbeiten mit selbigen zu hoch gegriffen sei. Sicherlich kann der Einsatz einer Regulären-Ausdrucks-Funktion in diesem Falls als übertrieben angesehen werden, doch für manche ist meine Variante vielleicht einfacher zu durchblicken als deine.

    Also lege ich gleich noch eine weitere, sicherlich einfachere Lösungsmöglichkeit nach: die glob()-Variante:
    PHP-Code:
    <?php

        $files 
    glob('101010*.pdf');
        foreach( 
    $files as $file ) {
            echo 
    $file '<br>';
        }

    ?>
     
    Markus Wulftange

  8. #8
    xtratz xtratz ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    223
    Es führen doch viele Wege nach Rom oder....?!

    Jedenfalls danke ich euch recht herzlich. Ich hatte das jetzt mal mit substr_count() gelöst.
    Denke aber das ist sehr unsauber.

    Gumbos letzter Vorschlag ist glaube ich für meine Zwecke am besten geeignet.


    Danke und Gruss
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 20.03.10, 22:31
  2. Antworten: 6
    Letzter Beitrag: 21.05.06, 17:50
  3. bestimmte dateien auslesen und zählen
    Von bastiang im Forum PHP
    Antworten: 1
    Letzter Beitrag: 14.03.05, 20:25
  4. Dateien aus Ordner auslesen?
    Von Zeller im Forum C/C++
    Antworten: 10
    Letzter Beitrag: 15.02.05, 16:52
  5. Ordner und Dateien auslesen
    Von wOp im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 06.02.04, 11:17