мой вопрос заключается в следующем.
Допустим, есть сайт site.ru , на сайте есть форма для загрузки изображений, как мне со своего сайта загрузить изображения на site.ru и получить результат?
Исходник не прошу конечно писать, но на примеры бы посмотрела, ну или просто подскажите в каком направлении двигаться, спасибо
Пример использования для отправки файла на GPSIES.COM
Авторизация
$config['gpsies_password'] = "password";
$config['gpsies_login'] = "login";
$ckfile = tempnam ("/tmp", "CURLCOOKIE");
$curl=curl_init("http://www.gpsies.com/login.do?username=". $config['gpsies_login'] ."&password=". $config['gpsies_password']);
curl_setopt ($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
curl_setopt ($curl, CURLOPT_HEADER,1);
curl_setopt ($curl, CURLOPT_NOBODY,1);
curl_setopt ($curl, CURLINFO_HEADER_OUT, 1);
curl_setopt ($curl, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec_follow($curl);
if($result) {
//trigger_error ("Auth OK\r\n<hr>");
} else {
trigger_error ("Auth Error\r\n<hr>");
}
curl_close($curl);
Формирую строку запроса (данные взяты из полей формы отправки)
$link = 'https://mysite.ru/;
$name = "File_Name";
$fields = array(
"language" => 'ru',
"trackAsString" => '',
"maxTrackpoints" => 3000,
// "filename" => sanitize_title_with_translit($name),
"filename" => $name,
"status" => 1,
"fileDescription" => 'Track for: https://mysite.ru/',
"trackTypes" => 'biking',
"websiteUrl" => 'https://mysite.ru/',
//"trackClassifications" => '',
//"trackCharacters" => '',
"trackAttributes" => 'gpsRecorded',
//"trackRoadbeds" => '',
//"trackRoads" => '',
"startpointCountry" => 'RU',
"endpointCountry" => 'RU',
//"viceVersa" => '',
"trackSimplification" => 0,
//"addElevation" => '',
"formFileUrl" => $link,
"uploadButton" => 'save',
);
foreach ($fields as $key => $value)
{
$value = urlencode(stripslashes($value));
if ($key == 'formFileUrl' && ($value == 'http%3A%2F%2F' || $value == ''))
{
return ;
}
$aQueryStrs[] .= "$key=$value";
}
$query_string = implode('&',$aQueryStrs);
$fields_str = http_build_query($fields);
Отправляю запрос:
if ($curl=curl_init("http://www.gpsies.com/upload.do;l=ru?". $query_string)) {
//curl_setopt ($curl, CURLOPT_URL, "http://www.gpsies.com/upload.do");
curl_setopt ($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
curl_setopt ($curl, CURLOPT_HEADER,1);
curl_setopt ($curl, CURLOPT_NOBODY,0);
curl_setopt ($curl, CURLINFO_HEADER_OUT, 1);
curl_setopt ($curl, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($curl, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($curl, CURLOPT_REFERER, "http://www.gpsies.com/login.do");
} else {
trigger_error ("No init CURL");
}
Получаю обратно странцу с ответом (как при обычной загрузке на том сайте) в т.ч проверяю open_basedir и safe_mode
if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off'))
{
curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, $l);
$result = curl_exec($curl);
}
else
{
$result = curl_exec_follow($curl);
}
if(curl_errno($curl))
{
trigger_error ("Error Occured in Curl\n<br />Error number: " .curl_errno($curl) ."\n == ".curl_error($curl)."\n<br>");
}
if($result) {
// Info
$header_info = curl_getinfo($curl,CURLINFO_HEADER_OUT);
$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$header = substr($result, 0, $header_size);
$body = substr($result, $header_size);
//End Info
// DEBUGER +
//$out .= "POST<hr><p>Header Sent: " . $header_info ."</p><hr>
// <p>Header Received: " . $header . "</p><hr>
// <p>Body: ". $body . "</p><hr>";
// END DEBUGER +
} else {
trigger_error ("<hr>FILE ERROR\r\n<hr>");
}
Разлогиниваюсь на том сайте
$curl=curl_init("http://www.gpsies.com/login.do?logout=true");
curl_setopt ($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
curl_setopt ($curl, CURLOPT_HEADER,1);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_NOBODY,1);
if(curl_exec($curl)) {
//trigger_error ( "EXIT OK\r\n<hr>");
} else {
trigger_error ("EXIT Error\r\n<hr>");
}
curl_close($curl);
unlink($ckfile) or die("Can't unlink $ckfile");
Далее, если нужна дальнейшая обработки страницы ответа, парсите $body
Виртуальный выделенный сервер (VDS) становится отличным выбором
Само задание полностью выглядит так : "через одну пустую строку предлагает ввести строку A (ввод осуществляется нажатием клавиши Enter), а затем...
Разбираюсь с примером, но даже его скомпилировать не могу из-за того вылазит ошибка
Пишу универсальный тип данных(мини-версию) Проблема возникла при вызове getInside();
Написал некий фрагмент кода (вообще пишу решение СЛАУ методом Гаусса), при данных значениях а и b, когда k >= 2 возникает ошибка -nan(ind) и nan (когда...