Hallo,
ich möchte eine Textdatei über FTP SSL vom IPS-Server an einen Webserver schicken. Hat sowas schonmal jemand gemacht?
Das wäre mein Ansatz
$username = 'xxx';
$password = 'xxx';
$url = 'xxx.xxx.xxx';
$ftp_server = "ftp://" . $username . ":" . $password . "@" . $url;
$localfile="Upload_HOME/IPS_DATA.txt";
$fp = fopen($localfile, 'r');
echo "Starting CURL.
";
$ch = curl_init();
echo "Set CURL URL.
";
//curl FTP
curl_setopt($ch, CURLOPT_URL, $ftp_server);
//For Debugging
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
//SSL Settings
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
//curl_setopt($ch, CURLOPT_URL, $ftp_server);
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch, CURLOPT_UPLOAD, 1);
//curl_setopt($ch, CURLOPT_INFILE, $fp);
//curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
$result = curl_exec($ch);
$info = curl_getinfo ($ch);
curl_close($ch);
print_R($info);
eine Textdatei die ich auf dem Webserver habe kann ich schon mal lesen. Also das Script gibt mir zuminderstens den Namen der Datei aus.
Im Netz habe ich noch diese Classe gefunden. Nur weis ich nicht wie ich die Parameter übergeben muß.
https://gist.github.com/maxrice/4544344
Marco
1. November 2013 um 19:08
2
Hi,
vielleicht hilft dir ein Auszug aus meinem Script.
Aktuell nutze ich jedoch noch ftp statt sftp. Um das zu ändern müsstest du den entweder probieren oder statt ftp_* ssh2_* verwenden.
<?
$filepath = "C://tmp//file_to_upload.txt";
$ftpserver = "ftp.domain.de";
$user = "user123";
$password = "password1234";
//start ftp upload
//ftp_connect ( string $host [, int $port = 21 [, int $timeout = 90 ]] )
$connection = ftp_connect($ftpserver, 21, 60);
$login_result = ftp_login($connection, $user, $password);
// 1=Login OK
//echo $login_result;
if (!$connection || !$login_result)
{
//Wenn Fehler
echo "Error: creating FTP connection failed";
}
else{
//entering passive mode
//ftp_pasv ( resource $ftp_stream , bool $pasv )
ftp_pasv($connection, true);
$remotefile = 'remotefilename.txt';
$upload = ftp_put($connection, $remotefile, $filepath, FTP_ASCII);
//$upload = ftp_put($connection, $remotefile, $filepath, FTP_BINARY);
if (!$upload)
{
//Wenn Fehler
echo "Error: FTP upload failed";
}
else
{
echo "Upload succesful!";
}
}
ftp_quit($connection);
?>
Hilfe zu ftp_* findest du hier
Hilfe zu ssh2_* findest du hier
zkra
31. März 2017 um 18:18
3
Hallo,
wie geht ein Dateiupload über „FTP Upload Explizit über TLS/SSL“ aktuell am besten ?
Meine Stichworte bisher dazu:
mit „copy“
mit „ftp_ssl_connect“ (Funktion wird jedoch anscheinend standardmäßig nicht in IPSymcon gefunden)
mit „CURL…“
…
Bitte um einen Tipp.
Gruß
zkra
zkra
16. April 2017 um 11:06
4
Hallo,
nochmals nach oben …
… keiner einen Tipp ?
Gruß
zkra