sorunu hallettim çözümü şöyle
<?
$server = 'ftp://ftp.xxxxyon.com'; //ftp adresi
$u_name = 'xxyt'; //user
$p_word = 'xxxxxx'; //pass
$up_file = 'http://www.xxxxx.net/images/y3.gif'; //dosyayı alacağınız adres
$srvr_path = '/xxxyon.com/varmi/'; / /upload edilecek yol
$new_name = 'aaa.jpg'; //dosyanını yeni adı
$url = $server . $srvr_path . $new_name; //dosya yolu
$chi = curl_init($up_file); //dosyayı burada alıyoruz kendi serverımıza
$fpi = fopen("tmp_file/aaa.jpg", "w"); //geçici klasöre dosyayı yazdırıyoruz
curl_setopt($chi, CURLOPT_FILE, $fpi);
curl_setopt($chi, CURLOPT_HEADER, 0);
curl_exec($chi);
curl_close($chi);
fclose($fpi); // işlemi bitirdik
$fh = fopen("aaa.jpg", "r"); // geçici klasördeki dosyayı okuyoruz
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $u_name . ':' . $p_word);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_UPLOAD, true);
curl_setopt($ch, CURLOPT_INFILE, $fh);
curl_setopt($ch, CURLOPT_TRANSFERTEXT, true);
// File size w/CURLOPT_INFILESIZE must be accurate for clean transfer.
curl_setopt($ch, CURLOPT_INFILESIZE, filesize("tmp_file/aaa.jpg")); //upload edilecewk miktarı öğreniyoruz
$curl_return = curl_exec($ch);
if ($curl_return === false) {
// Show failure info.
echo 'curl_exec() failed.' . '<br />';
echo 'curl_errno() = ' . curl_errno($ch) . '<br />';
echo 'curl_error() = ' . curl_error($ch) . '<br />';
} else {
// Show success info.
echo 'curl_exec() succeeded.' . '<br />';
echo '<br /><b>curl_getinfo()</b>' . '<br />';
foreach (curl_getinfo($ch) as $key => $value) {
echo $tab . $key . ' => ' . $value . '<br />';
}
}
curl_close($ch); // curl işlmeimizi kapatıyoruz
unlink("tmp_file/aaa.jpg"); // geçici klasördeki dosyayı siliyoruz
// isterseniz siz silmeyin oradada dursun
?>