[Funktion] Fatal error: Call to undefined function:

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

  • [Funktion] Fatal error: Call to undefined function:

    Hi Leutz,

    habe ein kleines/grösseres/grosses Problem.

    Habe ein Script welches auf meinem Rechner auf dem ich Programmiere auch läuft.(W2K/Apache/php4.2.3)
    Lade ich dieses jedoch hoch auf den Server auf dem es später laufen soll(Linux/Apache/php4.2.1) bekomme ich folgende Fehlermeldung:

    Fatal error: Call to undefined function: read() ... on line 45

    Hier ein Auszug aus meinem Script, angefangen ab Line 45.

    PHP-Code:
    while(($file=$mydir->read())!=false) {
       if (
    $file != "." && $file != "..") {
          if (
    $count == 1) {
             
    $endRow="</tr>\n";
             
    $fstring substr("$file"0, -4);
             
    $display "$dirstring"."$file";
             echo 
    "<tr valign=top><td width=10% align=center>\n".
                  
    "<a href=\"men/index.php?verz=".
                  
    substr($file,3,-4)."&bild=".
                  
    substr($file,3)."&index=$index\">\n".
                  
    "<IMG border=\"1\" src=\"$display\">\n</a>\n</TD>\n\n";
             
    $count++;
             
    $index++;
          } 
    Die Variable "$mydir" habe ich folgendermassen Deklariert:

    $mydir = dir($verzeichnis);

    Nun zu meiner eigentlichen Frage:

    Ist die Deklaration falsche? Kann es sein das die Variable $mydir keine instanz der Classe "dir" ist?
    oder
    Ist die Classe "dir"(Funktion read) einfach nicht verfügbar auf dem Server?
    Ist das nicht eine Classe die Standardmässig zur Verfügung stehen sollte?

    Brauche Hilfe!!!


    Ein Anfänger
    Danke im Vorraus
    EDIT:
    Dann mach ichs halt
    Zuletzt geändert von TobiaZ; 16.10.2003, 15:51.

  • #2
    sieht eher so aus als gäbe es Probleme mit read(), oder?

    Fehlermeldungen auch mal durchlesen
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      diese funktion gibbet net!

      hast nicht definiert...hast vergessen ne datei upzuloaden?
      tata
      moqui

      [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

      Kommentar


      • #4
        @Moqui
        Beitragsschinder
        it's not a bug,
        it's a feature!

        Kommentar


        • #5
          Hmmm... aber "read()" ist doch eine Classmember der Classe "dir"?!?
          Ich bin ein grausamer Anfänger... sorry.

          class dir {
          dir(string directory);
          string path;

          string read(); <----- oder sehe ich da was falsch?
          void rewind();
          void close();
          }

          Wo kann das Problem mit "read()" den liegen?

          Die Variable $mydir ist von Typ Object. (War nach dem Hochladen auf den Server "boolean" woraufhin ich folgende Zeile in den Quelltext eingefügt habe:
          ------------------------------
          settype($mydir,object)
          ------------------------------
          Nun ist die Variable auch auf dem Server vom Typ Object ...
          Zerschiesse ich mir dadurch die Variable so das read nix mehr damit anfangen kann?

          Auf meinem Rechner hier läufts wunderbar.

          Kommentar


          • #6
            $object->read()

            als anfänger schon an klassen ran? dann doch lieber n paar grundlagen und den umgang gelernt!

            @XGN: selber!

            Kommentar


            • #7
              @TbZ
              Na und?
              it's not a bug,
              it's a feature!

              Kommentar


              • #8
                @XGremliN (schwer zu schreiben): Das gehört hier aber nicht hin! Hier sollen Probleme gelöst werden!!!

                Betreffend meines Namens, wenn du mein Schema übernehmen würdest, hieße es TZ.

                Kommentar


                • #9
                  Argh .... =) Ihr seit zu schnell für mich...
                  Also: Upgeloaded habe ich alles was auch auf meinem ProgrammierPC liegt!

                  Wenn das Problem bei read() liegt, wieso läuft der Kram auf meinem PC und nicht auf dem Server?

                  Ich habe schon jedemenge Groups durchgestöbert und bin auf jedemenge Code gestossen der genauso wie meiner aussieht:

                  Bsp.:

                  $d = dir("/etc");
                  while($entry=$d->read()) {
                  echo $entry."<br>\n";
                  }


                  Und wieder das gleiche... auf meinem PC läufts ... auf dem Server nicht.
                  Kann es sein das das Problem doch beim Server zu suchen ist? Irgendwas nicht freigeschaltet/installiert?

                  Kommentar


                  • #10
                    nimm erstmal [PHP]-Tags, vorher lese ich den Code nicht!

                    Kommentar


                    • #11
                      OK OK ! Das nächstemal nehme ich die PHP Tags.... aber nun doch nochmal zum Problem.

                      Wo steckt da denn nun der Teufel drin?
                      Und nun sag mir nicht das ICH "Le Diable" bin.

                      Oder bin ich doch zu verplant?

                      Achja... Grundlagen lernen würde ich ja gerne.
                      Ich bin von meinem Chef da so rein gestoßen worden a la:
                      So hier Auftrag ... Website ... ZackZack.

                      Und auf Klassen und son kram bin ich gestossen weil ich die Lösung des Problemes suche.
                      (Meine PHP Kenntnisse ca. 15-20 Stunden)


                      Ein bitterer Anfänger

                      Danke

                      Kommentar


                      • #12
                        Ich habe da nicht nur fürs nächste mal drauf hingewiesen.

                        Kommentar


                        • #13
                          Hey, ich bin der Newbie überhaupt,
                          bin aber bereit dazu zulernen.

                          Also .... habe festgestellt das man mit "read()" in Unterverzeichnisse springen kann und somit die Verzeichnissstruktur eines Servers auslesen kann.
                          Kann es sein, dass (ob nun Funktion oder nicht/ich hab doch kein Plan davon)der Admin des Servers aus genau diesem Grund "read()" (Member der Klasse "dir") nicht zulässt?

                          Sicherheitsproblem?

                          Also ich kann mit

                          PHP-Code:
                          <?
                          $d = dir("../../.."); //<-----jedes beliebige Verzeichnis möglich!
                          settype($d,object);
                          while($entry=$d->read()) {
                          echo $entry."<br>\n";
                          }
                          ?>
                          in jedes beliebige Verzeichnis. Auch ohne entsprechende Rechte.
                          Vielleicht kann das mal jemand gegenprüfen und bestättigen?
                          (Ich hoffe das ist jetzt so richtig mit dem PHP TAG !)

                          Kommentar


                          • #14
                            http://de3.php.net/manual/de/ref.dir.php

                            thema verzeichnis auslesen hatten wir schon mehrfach im forum. mal suchen!!!

                            zeig mal n bisschen mehr code her.

                            BTW: Die Philosophie von dir oder deines Cheffs wird hier nicht so ganz unterstützt.

                            Kommentar


                            • #15
                              OK !
                              Auf dem Server funktioniert "read()" auch !

                              Muss irgendwie ein Problem mit meinen Pfaden sein, denke ich !
                              Das Script von eben funktioniert nämlich.

                              Der fehler liegt also nicht beim Server oder bei read().

                              Nennt mich also "LeDiable".

                              Der Teufel steckt im Detail...
                              ... das kleine Detail scheint wohl der Programmierer zu sein...und das bin wohl ich !

                              Problem zwar nochnicht gelöst ... aber ich denke ich habe einen Ansatz.

                              Danke soweit.

                              Kommentar

                              Lädt...
                              X