phpbar.de logo

Mailinglisten-Archive

[php] ftpZugriff mit Fopen ?

[php] ftpZugriff mit Fopen ?

=?iso-8859-1?Q?Christiane_Schmidt-K=F6ster?= c.sk_(at)_gmx.net
Sat, 12 Aug 2000 12:35:03 +0200


Hallo Tobias,

> hi , ich nochmal,
> weiß denn keiner weiter ??
>
> wenn ich den pfad : ftp://myAccount:mypasswd_(at)_ftp.geocities.com im
> browser eingebe wird das direktory angezeigt. aber im script funzt es
> irgendwie
> nicht mit dem pfad:
> mein test code:
>
>  // $pw= mein passwort
> $fp=fopen("http://www.geocities.com/cashf00001/index.htm","r");
> $fd=fopen("ftp://cashf00001:$pw_(at)_ftp.geocities.com/index.htm","w+");
> echo $fd."<p>";
>  if (!($fp)) echo "fehler beim öffnen zum lesen";
>  if (!($fd)) echo "fehler beim öffnen zum schreiben";
>   echo "<p>begin";
>   echo "<p>ende";
>   fclose($fp);
>   fclose($fd);


hab's nun auch mal mit Schreiben statt nur mit Lesen probiert und folgendes
Skript läuft bei mir einwandfrei:

<?php

 $file1 = "http://www.testdomain.com/index.html";
 $fp1 = fopen($file1, "r") or die ("<p>$file1 konnte nicht zum Lesen
geöffnet werden.\n");

 $file2 = "ftp://account:passwort_(at)_www.testdomain.com/pfad/test.txt";
 $fp2 = fopen($file2, "w") or die ("<p>$file2 konnte nicht zum Schreiben
geöffnet werden.\n");

 while (!feof($fp1))
 {
  $buffer = fgets($fp1, 4096);
  fputs($fp2, $buffer);
 }
 fclose ($fp2);
 fclose ($fp1);

?>

Probleme gibts alledings, wenn test.txt schon existiert. Da wird kräftig
gemeckert. Auf die Schnelle fällt mir auch nicht ein, wie die Datei evtl.
vorher zu löschen wäre.

Im deutschen Manual fand ich noch zu fopen :

"Wenn filename mit "ftp://" (nicht case sensitive) beginnt, wird eine
ftp-Connection zu dem spezifiziertem Server geöffnet und ein Zeiger auf die
angeforderte Datei zurückgegeben. Wenn der Server keinen passiven FTP-Modus
unterstützt, wird diese Methode fehlschlagen. Sie können Dateien entweder
zum Schreiben oder zum Lesen öffnen, jedoch nicht für beides gleichzeitig."

Ich hoffe das hilft ein wenig
Christiane




php::bar PHP Wiki   -   Listenarchive