[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: php curl ftp
Bolik
привет

тут такое дело... мне нужно передать огромный файл (120 Гиг) с одного сервера на другой через API (Facebook). вся проблема в том, что нужно передавать/скачивать пакетами по 5-10 тыс. строк.

для этих целей использую CURL, т.к. в курл есть поддержка NTLM аутентификации, которая мне тоже нужна для соединения с сервером.
вот такие настройки сейчас использую:

public function loadFtp ($link) {
$fh = fopen(BASE_PATH.'path/to/file.txt', "a");
$proxyServer="";
$proxyPort="";
$proxyUsername='';
$proxyPassword="";
$toReturn=array();
$url=curl_init($link);
curl_setopt($url, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
//curl_setopt($url, CURLOPT_RETURNTRANSFER, true);
curl_setopt($url, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($url, CURLOPT_VERBOSE, 1);
curl_setopt($url, CURLOPT_FAILONERROR, 0);
curl_setopt($url, CURLOPT_MAXREDIRS, 100);
curl_setopt($url, CURLINFO_HEADER_OUT, true);
curl_setopt($url, CURLOPT_FILE, $fh);
curl_setopt($url, CURLOPT_HEADER, 0);
curl_setopt($url, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0');
curl_setopt($url, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($url, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($url, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
curl_setopt($url, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($url, CURLOPT_PROXY, "$proxyServer:$proxyPort");
curl_setopt($url, CURLOPT_PROXYUSERPWD, "$proxyUsername:$proxyPassword");
$cont=curl_exec($url);
$info=curl_getinfo($url);
$toReturn['status']=$info['http_code'];
$toReturn['content']=$cont;
return $toReturn;
}


в этом виде я качаю файл с сервера, но не вижу сколько строк было скачано, а нужно после определенного количества строк отправлять POST request на другой сервер. сейчас даже не представляю как это провернуть, может кто-то подскажет?

заранее спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.