ottscho
Goto Top

FTPGET will auf einem Server nicht funktionieren

Hallo,

ich habe ein Problem mit FTP_GET. Auf meinem eigenen Server (domainfactory) funktioniert das Script. Auf einem anderen Server nicht.
Dateirechte sind korrekt. Über fopen, write etc. kann ich auch anderweitig über das Script Dateien in dem Ordner erstellen. Nur FTP geht nicht. sCURL klappt auch!

Auszug:
$conn_id = ftp_connect($ftp_link);

$login_result = ftp_login($conn_id, $ftp_user, $ftp_password);



if (ftp_get($conn_id, $local_file, $server_file, FTP_ASCII)) {

		echo "$local_file wurde erfolgreich geschrieben<br />";  


} else {

		echo "Ein Fehler ist aufgetreten<br />";  

}


ftp_close($conn_id);

Braucht FTP_GET besondere Server-Eigenschaften?
Hier gibts die PHP() Info http://www.sendspace.com/file/p6x7hr

Also ftp_get gibt auf jeden Fall false zurück.

Vielen Dank

MFG

Content-ID: 183783

Url: https://administrator.de/contentid/183783

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

nxclass
nxclass 19.04.2012 um 21:30:40 Uhr
Goto Top
hi,
hast Du geprüft, dass auch ftp_connect und ftp_login richtig funktionieren ?

oder auch mal file_get_contents versucht:
file_get_contents( 'ftp://'. $user . ':' . urlencode( $password ) . '@' . $host . '/' . $file );  
ottscho
ottscho 20.04.2012 um 07:47:11 Uhr
Goto Top
Hi nxclass,

vielen dank. Das habe ich nie getestet. Also file_get_contens funktioniert wunderbar.
Spricht was dagegen es nun so zu lösen?

if ($test = file_get_contents( 'ftp://'. $ftp_user . ':' . urlencode( $ftp_password ) . '@' . $ftp_link . '/' . $server_file )) {  

				$fp = fopen($local_file, "w+");      
				fwrite($fp, $test);

				fclose($fp);

			}

			else

			{

				echo "Ein Fehler ist aufgetreten<br />";  

			}

Danke
nxclass
nxclass 20.04.2012 um 08:08:11 Uhr
Goto Top
Spricht was dagegen es nun so zu lösen?
eigentlich nicht - aber warum benutzt du dann nicht gleich noch
file_put_content(
    $local_file,
    file_get_contents( 'ftp://'. $ftp_user . ':' . urlencode( $ftp_password ) . '@' . $ftp_link . '/' . $server_file )  
);

... ich würde das noch in ein try catch block packen - für den Fall, dass ein Fehler auftritt.

fopen etc. würde ich nur noch nutzen, wenn es sich um große Dateien handelt, und man die Möglichkeit haben will die Übertragung abzubrechen.