Ankündigung

Einklappen
Keine Ankündigung bisher.

fopen - Pfad bzw Dateiname eingeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fopen - Pfad bzw Dateiname eingeben

    Hallo zusammen,
    guten Rutsch ins 2009,

    bin fast am verzweifeln

    ich befinde mich im ordner:.... /php , da gibts ein unterordner /test

    mit folgendem code lese ich den unterordner aus und schreibe die darin befindlichen dateinamen in ein Array:
    PHP-Code:
    <? if(isset($_POST['Einlesen']))
       {
       $verzeichnis = openDir("C:/xampp/htdocs/confixx/php/test"); // Öffnet ein Unterverzeichnis mit dem Namen "ordner"
      while ($file = readDir($verzeichnis)) { // Verzeichnis lesen
     if ($file != "." && $file != "..") { // Höhere Verzeichnisse nicht anzeigen!
      //echo "<a href=\"$file\">$file</a><br>\n "; // Link erstellen
      $array[] = $file;
      array_push($array, $file);
        }
    }
    closeDir($verzeichnis); // Verzeichnis schließen
    $name = $array[9];
    echo "<br/>";
    echo "dateiname = $array[9]";
    ?>
    nun habe ich die variable:
    $name = $array[9]; diese will ich später einsetzen....

    im folgenden code lest ich die datei: "skat_protokoll.txt" ein, diese befindet sich im gleichen ordner wie dieses script.php


    PHP-Code:
    $fp fopen("skat_protokoll.txt","r"); // datei im Ordner /php
          
    while (!feof($fp))
        {
        
    $text fgets($fp); 
        }
        
    fclose($fp);
    $datei file("skat_protokoll.txt");

    $zeilen count($datei);
    $zeile_s1 $datei[$zeilen -12];
    ....
    ....
       }
    ?> 
    damit hab ich dann variable, welche aus dem text der datei entnommen werden ........mit diesen fuelle ich dann meine MySql datenbank.


    wie muss ich nun die zeile:
    $fp = fopen("skat_protokoll.txt","r"); // datei im Ordner /php
    gestalten?
    so dass eine datei im unterordner /test mit dem dateiname $name = $array[9];(aus dem ordner /test ausgelesn) geöffnet wird.
    ich bin seit tagen am suchen ...googeln bücher tutorials...usw, es kann sein,
    dass ich da zu begriffstutzig bin ??

    drum bitte ich mir hier reinzuschreiben was in:
    $fp = fopen("--/pfad----$name--------","r"); // datei im Ordner /php/test
    genau stehn muss ??
    vielen dank im voraus

    gruss roland_k

  • #2
    $fp = fopen("../php/skat_protokoll.txt","r");

    Kommentar


    • #3
      nabend,
      danke erst mal

      aber genau das geht nicht

      ich befinde mich im Ordner:
      C:\xampp\htdocs\confixx\php
      in diesem ordner meine script-php
      und die datei skat_protokoll.txt
      $fp = fopen("skat_protokoll.txt","r"); funktioniert

      nun will ich folgendes:


      mein sript.ph liegt in : C:\xampp\htdocs\confixx\php
      die datei skat_protokoll.txt in: C:\xampp\htdocs\confixx\php\test
      wie muss nun $fp = fopen(..................) lauten ?

      einfach gesagt ...wenn txt datei im gleichen ordner gehts
      aber wie gehts wenn dietextdatei im unterverzeichniss liegt ??


      danke gruss roland_k

      Kommentar


      • #4
        Sowas kannst du dir wirklich sparen.

        Um ein Verzeichnis höher zu gehen, gibst du zwei Punkte als Pfad an:
        PHP-Code:
        include ( '../bla.txt' ); 
        Oder du benutzt den absoluten Pfad.

        Kommentar


        • #5
          es ist ein unterverzeichniss ??

          Kommentar


          • #6
            Was soll die Scheiße? Wirklich, das ist echt Kinderkacke.
            Lies das Manual.(s. Beispiele)

            Kommentar


            • #7
              warum so unfreundlich?

              es geht so nicht....

              zu was dann manuals ??

              danke

              Kommentar


              • #8
                ich blick die fragestellung gar nich.
                meinst du etwa den glorreichen punkt?

                fopen("./test/skat_blah.txt","r");

                das ist nun aber echt nich schwer rauszufinden, is ne einfache pfadangabe wie sie in allen betriebssystemen gültig ist

                mfg

                Kommentar


                • #9
                  danke ...na ja ich wurschtel mich da mehr oder weniger durch.

                  das mit zwei (..) nach oben wusste ich, aber das mit dem (.) nach unten eben nicht.
                  $fp = @fopen("./test/test_2.txt","r")
                  or die("fehler");
                  und
                  $fp = @fopen("http://localhost/confixx/php/test/test_2.txt","r")
                  or die("fehler");
                  funktionieren beide.


                  der rechner hat sich immer aufgehängt...

                  bis ich das @vor dem fopen gemacht habe und (or die("fehler")
                  eingesetzt habe.

                  ueber das die() ....habe bisher noch nichts gefunden?

                  das habe ich zufällig mal gelesen.


                  immerhin funktionierts jetzt.

                  PTC hatte die frage nicht recht gelesen, drum konnte das ja nicht gehn

                  danke zusammen, schönen abend noch.

                  gruss roland_k

                  Kommentar


                  • #10
                    Zitat von roland_k Beitrag anzeigen
                    aber das mit dem (.) nach unten eben nicht.
                    Der . steht auch nicht für "nach unten" sondern für das aktuelle Verzeichnis. In diesem Fall das aktuelle Arbeitsverzeichnis, siehe [man]getcwd[/man].

                    Kommentar


                    • #11
                      ah ..danke,

                      das mit dem die() habe auch gefunden .

                      gruss
                      roland_k

                      Kommentar


                      • #12
                        Wie schon erwähnt steht . für das aktuelle Verzeichnis. Unter Windows kannste also genausogut einfach
                        /verzeichnis/datei
                        machen. Unter Unix ist / allerdings das root (also das Wurzelverzeichnis des gesamten Systems) darum sollte man den . voranstellen.

                        mfg

                        Kommentar


                        • #13
                          Zitat von BlackWolf Beitrag anzeigen
                          Unter Windows kannste also genausogut einfach
                          /verzeichnis/datei
                          machen.
                          Das bezieht sich dann auf das Laufwerk des aktuellen Arbeitspfades.
                          getcwd()=='c:\xyz' und /verzeichnis/datei -> c:\verzeichnis\datei
                          getcwd()=='d:\xyz' und /verzeichnis/datei -> d:\verzeichnis\datei
                          Wie das bei unc-Pfaden ist, weiß ich gerade nicht.

                          Kommentar

                          Lädt...
                          X