fopen problem
irgendjemand
- php
Hi,
ich bin gerade dabei mir einen FTP-Client mit PHP zu programmieren.
Nun mein Problem..
Mit..
$handle = fopen("ftp://user:pass@host.de/file.php", "r");
$filesize = filesize("ftp://user:pass@host.de/file.php");
$file=fread($handle, $filesize);
fclose($handle);
echo $file;
.. lese ich den Inhalt von ftp://user:pass@host.de/file.php aus, das klappt auch.
Und mit..
$handle= fopen("ftp://user:pass@host.de/file.php", "w");
$output= fwrite($handle, "INHALT");
fclose($handle);
.. möchte ich in die Datei reinschreiben doch dann kommt die Fehlermeldung..
Warning: fopen(ftp://user:pass@host/file.php) [function.fopen]: failed to open stream: Remote file already exists and overwrite context option not specified<br /> FTP server reports 213 3 in C:\Programme\xampp\htdocs\ftp\ftp\config.php on line 70
.. Und wenn ich anstatt w, a nehme funktioniert es auf einmal.
Woran kann das liegen?
Thanx schon mal im voraus ;)
Hi,
$file=fread($handle, $filesize);
.. lese ich den Inhalt von ftp://user:pass@host.de/file.php aus, das klappt auch.
Und mit..
welchen Wert hat hier $file?
$handle= fopen("ftp://user:pass@host.de/file.php", "w");
$output= fwrite($handle, "INHALT");
fclose($handle);
Ciao.
Hi,
»» $file=fread($handle, $filesize);
welchen Wert hat hier $file?
fread($handle, $filesize) den Inhalt der Datei.
Wie gesagt das funktioniert ja auch.
Nur..
$handle= fopen("ftp://user:pass@host.de/file.php", "w");
$output= fwrite($handle, "INHALT");
fclose($handle);
funktioniert nicht, nur wenn ich anstatt w, a benutze.
Aber dann wird der zu schreibene Inhalt ans Ende des Dateiinhaltes geschrieben und das ist ja nicht mein Ziel^^.
Hi,
Warning: fopen(ftp://user:pass@host/file.php) [function.fopen]: failed to open stream: Remote file already exists and overwrite context option not specified
Woran kann das liegen?
An dem, was da steht - "file already exists and overwrite context option not specified".
Also machst du jetzt was? Letzteres natürlich.
Bei fopen kannst du context options mitgeben, und wie du diese erzeugst und welche es für den Kontext FTP gibt, findest du ebenfalls im Manual beschrieben.
MfG ChrisB
Hi,
Problem gelöst.
musste vor..
$handle= fopen("ftp://user:pass@host.de/file.php", "w");
$output= fwrite($handle, "INHALT");
fclose($handle);
.. unlink("ftp://user:pass@host.de/file.php"); setzen, weil wie ich mitbekommen hab fopen("ftp://user:pass@host.de/file.php", "w"); versucht "ftp://user:pass@host.de/file.php" anzulegen.