cURL Ftp connexion
<?php
$host = 'ftp://host.fr';
$login = 'login';
$pwd = 'pwd';
$distant = 'file_to_get';
$local = 'place_to_save_on_ftp';
try {
$ch = curl_init();
$localfile = $distant;
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, 'ftp://'.$host.'/my-file.png');
curl_setopt($ch, CURLOPT_FTP_CREATE_MISSING_DIRS, true);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$pwd");
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
// Cannot check filesize as it is a distant file
//curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
$error_no = curl_errno($ch);
curl_close ($ch);
if ($error_no == 0) {
$error = 'File uploaded succesfully.';
} else {
$error = 'File upload error.';
}
} catch (Exception $e) {
throw new Exception("Error Processing Request", $e->getMessage());
}
?>