PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : datei von fremdem server laden und lokal speichern ???


laminar
11.10.2002, 11:31:57
irgendwie bekomme ich es nicht hin;
vielleicht könnt ihr mir helfen...

Ben20
11.10.2002, 15:20:01
Zeig mal was Du bisher versucht hast, dann muß man nicht bei null anfangen, sondern kann den Fehler im Script suchen.

laminar
11.10.2002, 15:29:33
/// $ url = http://www.eineurl.de/datei.xyz
/// $fp = fopen ($url,"r");
/// $str = fread ($fp, filesize ($url));
/// $fp = fopen("export.txt","w");
/// fwrite($fp,$str);

es soll also die datei.xyz remote gelsen und lokal als export.txt
gespeichert werden...

Ben20
11.10.2002, 15:36:57
Sollte eigentlich gehen - welche Fehlermeldung kommt?

laminar
11.10.2002, 16:28:05
es passiert gar nichts (ausser dass er die datei anpegt, die dann leer ist) - keine fehlermeldung...

Ben20
11.10.2002, 17:55:42
Mach mal ein if($fp) rein, dann siehst Du ob er die Datei überhaupt öffnen kann.

Nev
16.10.2002, 15:34:21
Hi @ll

Mit diesem Script geht es:

<?
$extern_url = "http://www.nev-hilft.de/index.php";
$local_file = "export.txt";
$fpread = @fopen($extern_url, 'r');
if(!$fpread)
{
echo "Zur Zeit nicht erreichbar<br>n";
#exit;
} else {
$fpwrite = @fopen($local_file, 'w');
if(!$fpwrite)
{
echo "$errstr ($errno)<br>n";
exit;
} else {
while(! feof($fpread) )
{
$buffer = @ltrim(Chop(fgets($fpread, 256)))."n";
fputs($fpwrite, $buffer);
}
@fclose($fpread);
}
@fclose($fpwrite);
}

?>

laminar
16.10.2002, 16:26:36
leider hat das board etwas (deine geschweiften klammern) ersetzt -
deshalb bekomme ich hier laufend parse errors...
muss ich nochmal schauen..

Nev
16.10.2002, 16:31:28
Hi laminar

Du hast recht das Board hat im PHP-Tag einen BUG
aber den gibt es schon ewig

ersetze daher & #123; durch {

Der PHP-Tag hat aber vorteile:
*) wird der Code highlighted
*) und ned übersetzt, was vorkommen kann

laminar
16.10.2002, 16:32:42
das funktioniert - endlich mal einer, der was weiss!
vielen dank..

eine frage hätte ich noch - was ist die 256 für ein wert bei $buffer ?

Nev
16.10.2002, 16:39:47
;-)


string fgets ( int fp [, int length])

Gibt eine Zeile bis zu length -1 Bytes Länge zurück, welche aus der Datei von der aktuellen Position des Dateizeigers fp aus ausgelesen wird. Die Zeile endet an einem Zeilenumbruch (welcher im Rückgabewert enthalten ist), EOF (Ende der Datei) oder bei length - 1 Bytes (je nachdem, was eher auftritt). Ist keine Länge angegeben, wird diese auf 1k bzw. 1024 Bytes gesetzt.