fehler von dateifunktionen abfangen

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

  • fehler von dateifunktionen abfangen

    Hallo,

    ich suche nach einer Funktion, mit welcher man die Fehlermeldungen von Dateioperationen gezielt in eine Variable schreiben kann.
    Will sie also nicht an der Stelle ausgeben, wo sie gerade auftritt, sondern an einer dafür vorgesehenen Stelle

    ich möchte also statt
    PHP-Code:
    copy($src$dest); 
    sowas schreiben
    PHP-Code:
    if(!@copy($src$dest))
    {
    $error error_auslesen von copy;

    Danke für Hilfen

  • #2
    ist doch ein guter ansatz!
    PHP-Code:
    if(!copy(soundso)){$error=fehlerx;}

    // später //

    echo $error
    bei mir funzt dieses prinzip immer
    Signatur-Text ...

    Kommentar


    • #3
      "error_auslesen von copy" wird dir nix bringen, entweder gabs nen error oder nich.

      du kannst vor dem copy zb. mit is_dir() oder is_writeable() das verzeichniss prüfen bevor du versuchst dort was hineinzuschreiben.

      Kommentar


      • #4
        allerdings kann er den fehler mit @ unterdrücken und die variable füllen, somit hat er später die ausgabe, die er will!
        ahso verstehe, die direkte fehlermeldung soll ausgelesen werden. das ist nazürlich was anderes !
        Signatur-Text ...

        Kommentar


        • #5
          schau mal hier: function
          Signatur-Text ...

          Kommentar


          • #6
            So wie ich es geschrieben habe funzt es auch. Jedoch will ich keine selbstdefinierte Fehlermeldung, sondern die, welche vom System erzeugt wird, in eine Variable schreiben.

            Beispiel einer solchen Systemfehlermeldung:
            Warning: copy(C:\...\skript.csv) [function.copy]: failed to open stream: No such file or directory in C:\...\skript.php on line 525

            Es muss doch eine Funktion geben mit der ich mit diese Meldung in eine Var schreiben kann?

            In Verbindung mit einer Oracle Datenbank heisst die Errorfunktion z.B OCIError. Damit kann man den Fehler beim Ausführen gezielt unterdrücken und dann mit Hilfe dieser Funktion in eine Var schreiben

            An die Stelle "error_auslesen von copy" von meinem ersten Beitrag soll diese Funktion kommen.

            Kommentar


            • #7
              PHP-Code:
              $errors=array();
              $messages=array();
              if (!
              is_writable($toDir))
                 
              $errors[]='target '.$toDir.' is not writable';
              if (!
              is_dir($toDir))
                 
              $errors[]='target '.$toDir.' is not a directory';
              if (!
              is_dir($fromDir))
                 
              $errors[]='source '.$fromDir.' is not a directory';
              if (!empty(
              $errors))
                 {
                 if (
              $verbose)
                     foreach(
              $errors as $err)
                         echo 
              '<strong>Error</strong>: '.$err.'<br />';
                 return 
              false;
                 }
              //*/
              $handle=opendir($fromDir);
              while (
              false!==($item=readdir($handle)))
                 if (!
              in_array($item,$exceptions))
                     {
                     
              //* cleanup for trailing slashes in directories destinations
                     
              $from=str_replace('//','/',$fromDir.'/'.$item);
                     
              $to=str_replace('//','/',$toDir.'/'.$item);
                     
              //*/
                     
              if (is_file($from))
                         {
                         if (@
              copy($from,$to))
                             {
                             
              chmod($to,$chmod);
                             
              touch($to,filemtime($from)); // to track last modified time
                             
              $messages[]='File copied from '.$from.' to '.$to;
                             }
                         else
                             
              $errors[]='cannot copy file from '.$from.' to '.$to;
                         }
                     if (
              is_dir($from))
                         {
                         if (@
              mkdir($to))
                             {
                             
              chmod($to,$chmod);
                             
              $messages[]='Directory created: '.$to;
                             }
                         else
                             
              $errors[]='cannot create directory '.$to;
                         
              copydirr($from,$to,$chmod,$verbose);
                         }
                     }
              closedir($handle); 
              welche fehlermeldungen sollten sonst noch entstehen?
              Signatur-Text ...

              Kommentar


              • #8
                Das hatte ich auch schon im Forum gefunden.

                Es ist aber genau das was ich nicht will.
                Ich will die Fehlermeldung, welcher vom System ausgegeben wird (keine eigene), in eine variable schreiben.

                Ziel des ganzen ist das dieser Fehler in einer Logdatei protokoliert wird.

                Es gibt mit grosser Wahrscheinlichkeit eine solche Funktion, welche die Fehlermeldungen abfängt. Jedoch weiss ich leider nicht welche.

                Kommentar


                • #9
                  Original geschrieben von galaxy2
                  Das hatte ich auch schon im Forum gefunden.

                  Es ist aber genau das was ich nicht will.
                  Ich will die Fehlermeldung, welcher vom System ausgegeben wird (keine eigene), in eine variable schreiben.

                  Ziel des ganzen ist das dieser Fehler in einer Logdatei protokoliert wird.

                  Es gibt mit grosser Wahrscheinlichkeit eine solche Funktion, welche die Fehlermeldungen abfängt. Jedoch weiss ich leider nicht welche.
                  nützt dir das was? error...
                  Signatur-Text ...

                  Kommentar


                  • #10
                    die konstanten wohl weniger, allerdings kannst du den error_handler umbiegen (siehe beispiel auf o.g. seite).
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      Original geschrieben von derHund
                      die konstanten wohl weniger, allerdings kannst du den error_handler umbiegen (siehe beispiel auf o.g. seite).
                      was ich damit auch sagen wollte!
                      Signatur-Text ...

                      Kommentar

                      Lädt...
                      X