file_exist mittels ftp
Thomas Seifert
- php
0 wahsaga0 Thomas Seifert0 wahsaga0 Thomas Seifert0 Thomas Seifert0 dedlfix
0 dedlfix
kennt jemand eine efiziente möglichkeit unter php4 die existenz eines verzeichnisses zu überprüfen
meine ideen und warum sie scheitern
a) ftp_chdir() -> liefert true oder false zurück, dummerweise wirft diese funktion zusätzlich noch eine warning aus
b) ftp_rawlist() -> innerhalb dieser funktion scheint irgendein cache prozess stattzufinden, er liefert nicht immer alle inhalte eines verzeichnisses zurück, konnt den fehler aber nicht näher verifizieren
c)ftp_raw() dann CWD dir -> gibts leider erst ab php5
hat jemand weitere ideen?
hi,
a) ftp_chdir() -> liefert true oder false zurück, dummerweise wirft diese funktion zusätzlich noch eine warning aus
Lässt sich diese nicht durch @ftp_chdir() unterdrücken?
gruß,
wahsaga
Lässt sich diese nicht durch @ftp_chdir() unterdrücken?
danke, die lösung lag so nahe :)
hi,
Lässt sich diese nicht durch @ftp_chdir() unterdrücken?
danke, die lösung lag so nahe :)
Bedenke aber auch, dass ftp_chdir ja u.U. noch aus anderen Gründen schiefgehen und somit false liefern könnte - allein daraus auf die Nichtexistenz eines Remoteverzeichnisses zu schließen, wäre fahrlässig. Da sollte man also eigentlich schon den Fehler abfragen, und schauen was für einer es war.
Unter den FTP-Funktionen scheint es mir aber keine zu geben, die den letzten dabei aufgetretenen Fehlercode/-text liefern kann - vielleicht hilft $php_errormsg da weiter (obwohl ich nicht weiß, ob das auch Warnings aufnimmt.
gruß,
wahsaga
naja ich bin grad eher ernsthaft dabei dran zu denken eigene ftp cocket funktionen zu schreiben
das @ bringt übrigends nix :(
echo $begrüßung;
das @ bringt übrigends nix :(
Bist du sicher, dass die Meldung von ftp_chdir kam? Wenn ja, welche Meldung kam denn?
(Manchmal vergisst man auch das Speichern nach der Änderung und lässt das alte Scrpt laufenn ...)
echo "$verabschiedung $name";
Bist du sicher, dass die Meldung von ftp_chdir kam? Wenn ja, welche Meldung kam denn?
WARNING|ftp_chdir(): Failed to change directory. in....
achso ich vergass zu erwähnen das ich komplett alle
errormeldungen per script abfange
$error_handler = set_error_handler("MyErrorHandler");
usw
das erklärt wohlmöglich warum @ nicht funktioniert
echo $begrüßung;
achso ich vergass zu erwähnen das ich komplett alle
errormeldungen per script abfange$error_handler = set_error_handler("MyErrorHandler");
usw
das erklärt wohlmöglich warum @ nicht funktioniert
Ja, in dem Falle solltest du abfragen, ob die Fehlermeldungen gerade unterdrückt werden sollen:
if (error_reporting())
// Fehler aufzeichnen
else
// ignorieren
Dein Errorhandler wird auch bei mit @ unterdrückten Fehlern aufgerufen. error_reporting() gibt dann aber ein 0 zurück.
echo "$verabschiedung $name";
echo $begrüßung;
naja ich bin grad eher ernsthaft dabei dran zu denken eigene ftp cocket funktionen zu schreiben
Das hat sich schon mal jemand gedacht und in PEARs Net_FTP-Paket als Klasse namens Net_FTP_Socket veröffentlicht.
echo "$verabschiedung $name";