Weil man es doch immer mal wieder gebrauchen kann und ich es mir doch nie merke, speichere ich den Code-Schnipsel jetzt einfach mal hier ab!
<?php
// FTP-Zugansdaten
$host = 'ftp.example.com';
$user = 'developer';
$password = 'secret';
// Dateiinformationen
$filename = 'test.txt';
$content = 'Uploaded at ' . date('Y-m-d H:i:s');
// erzeuge stream context
$stream = stream_context_create(array('ftp' => array('overwrite' => true)));
// speichere die Datei
$uri = sprintf('ftp://%s:%s@%s/%s', $user, $password, $host, $filename);
file_put_contents($uri, $content, 0, $stream);

07.01.2011 um 07:34 Uhr
Der Vollständigkeit halber noch der “Klassiker”:
$host = "ftp.example.de";
$user = "developer";
$password = "topsecret";
$connection_id = ftp_connect($host);
$login_result = ftp_login($connection_id, $user, $password);
if (!$connection_id || !$login_result) {
//...
}
$filename = "file.txt";
$content = "Uploaded at ".date('Y-m-d H:i:s');
file_put_contents($filename,$content);
$upload = ftp_put($connection_id, $filename, $filename, FTP_ASCII);
if (!$upload)
{
//...
}
ftp_quit($connection_id);
Bin ein großer Freund von so nützlichen “kann man immer mal gut gebrauchen”-Codeschnippseln
07.01.2011 um 09:06 Uhr
Ich mag auch Code Schnipsel, nur leider versucht man immernoch alles old school zu lösen. Wieso macht man nicht dafür ne static class und 2-3 Funktionen und nen schönen Aufruf und schon ist das ganze mit noch weniger Aufwand wieder zu verwenden und man kann es auch mal ohne schlechtes Gewissen in einer Anwendung einsetzen.
07.01.2011 um 09:13 Uhr
@Apo: Wenn ich kann, dann verwende ich auch lieber Komponenten aus einer getesteten Library, aber manchmal ist das leider nihct möglich und dann muss ich auf die “OldSchool”-Lösung zurück greifen.
09.01.2011 um 20:32 Uhr
So da ich das ganze auch zufällig gebrauchen konnte hab ich mal das ganze OO realisiert.
server = $server;
$this->username = $username;
$this->password = $password;
}
private function connect()
{
$this->ftpConnectionID = ftp_connect( $this->server );
if( !$this->ftpConnectionID )
{
echo “Connection problem with server”;
return false;
}
else if( !ftp_login( $this->ftpConnectionID , $this->username , $this->password ) )
{
echo “Authentification failure”;
return false;
}
return true;
}
public function setFTPDirectory( $ftpDirectory )
{
$this->ftpDirectory = ftpDirectory;
}
public function uploadFile( $localFile , $newFileName = “” , $mode = FTP_BINARY )
{
if( $newFileName == “”)
{
$filePathArray = split( “/” , $localFile );
$newFileName = $filePathArray[count( $filePathArray )-1];
}
if( $this->connect() )
{
if( !ftp_put( $this->ftpConnectionID , $this->ftpDirectory . $newFileName , $localFile , $mode ) )
{
echo “Error during upload”;
return false;
}
}
else
{
return false;
}
ftp_quit( $this->ftpConnectionID );
return true;
}
}
?>