Hallo Harry,
Oder ftp_raw, das wurde extra auf meinen Wunsch eingebaut ;)
Die Funktion wird bei mir gar nicht unterstützt (PHP 4.3.4 Win),
(vielleicht liegt 's ja daran das ich als Horst angemeldet bin und nicht als Harry, ;-) )
Aber prinzipiell sollte es mit ftp_site gehen.
Hm, ich hab's probiert, bekomme aber leider nur Warnungen:
Warning: ftp_site() [function.ftp-site.html]: 'SITE TOUCH' not understood. in d:\webserver\vh\dev\_php\ftp\ftptest.php on line 72
Warning: ftp_exec() [function.ftp-exec.html]: 'SITE EXEC' not understood. in d:\webserver\vh\dev\_php\ftp\ftptest.php on line 73
Dann mußt Du nur noch dem FTP-Server beibringen, das entsprechende Programm auszuführen. Die Parameter mußt Du dann so setzen, wie sie das auszuführende Programm auch akzeptiert.
Mmhhhm, jaha, ehm: ich kenne mich mit Unix-Rechnern nicht aus, ich habe es mit folgenden Definitionen für den touch-Befehl probiert:
$STAMP = FTP_FILE_STAMP(LOCALROOT.$FILE);
//$cmd = "touch -c -m -t $STAMP $FILE";
$cmd = "touch $FILE";
ftp_site($ftpstream,$cmd);
ftp_exec($ftpstream,$cmd);
touch: -c = keine leere Datei erzeugen falls $FILE nicht existiert
-m = nur das Modifikations-Datum ändern, (wobei das LastAccess-Datum sowieso _immer_ geändert wird, dann aber auf den aktuellen Zeitstempel)
-t = Benutze einen Zeitstempel im Format MMDDhhmm
Da es aber nicht funktioniert hat weiß ich jetzt weder ob der touch-Befehl richtig war und/oder das Zeitstempel-Format usw.
Sehr wahrscheinlich kann/darf man nicht besonders viele Befehle per FTP auf einem Server ausführen. (So würde ich es auf jedenfall machen wenn ich teil-öffentliche Server anbieten würde, ;-)). Deshalb habe ich mich ja auch hier ans Forum gewand, weil ich dachte jemand kennt evtl. einen Befehl dafür der auch allgemein per SITE-Befehl akzeptiert ist.
Naja, im schlimmsten Fall speichere ich in einer lokalen Datei die Timestamps der Dateien auf dem FTP-Server und vergleiche diese dann beim nächsten Scriptaufruf mit den dann vorliegenden Timestamps. Dann weiß ich auch ob die Files auf dem Server geändert wurden.
Allerdings erscheint mir die Methode mit dem synchronisierten Zeitstempel eleganter.
Viele Grüße,
Horst