На сайте есть форма, позволяющая загружать по одному изображению за раз.Я использую php cURL для загрузки нескольких изображений из zip-файла, который работает.
Я хотел бы видеть ответ curl_exec и данные curl_getinfo в браузере после завершения загрузки.Тем не менее, я могу видеть их только в течение доли секунды, прежде чем я перенаправлен на сайт, на который были загружены изображения:
$ch = curl_init($this->aData['urlData']['actionUrl']);
foreach ($this->aData['images'] as $aFile)
{
$sUploadFile = $this->curlUploadFilename($aFile);
$aPostData = array('sFromUrl' => $sFromUrl, 'token' => $sToken, 'uploadfile' => $sUploadFile, 'upload' => 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_REFERER']);
curl_setopt($ch, CURLOPT_COOKIE, $sCookies);
curl_setopt($ch, CURLOPT_POSTFIELDS, $aPostData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
$aResponse = curl_exec($ch);
if(curl_errno($ch) != 0)
{
$this->sErrorMsg = "POST cURL Error:\r\n" . curl_error($ch) . "\r\n";
curl_close($ch);
return false;
}
$aTempInfo[] = array('image' => $aFile, 'curlInfo' => curl_getinfo($ch), 'curlResponse' => $aResponse);
}
$this->aInfo = $aTempInfo;
curl_close($ch);
return true;
У меня установлено значение CURLOPT_FOLLOWLOCATION в False, и оно все еще перенаправляет.Я не в safe_mode, и open_basedir не установлен.
Я добавил CURLOPT_NOBODY как True и CURLOPT_CUSTOMREQUEST как POST (чтобы удержать запрос от переключения на HEAD).Я получаю разные результаты:
Если добавлено после CURLOPT_POSTFIELDS, я не перенаправлен, но загрузка не удалась.
Если добавлено раньше, загрузка прошла успешно, ноЯ все еще перенаправлен.
Я знаю, что должны делать CURLOPT_HEADER и CURLINFO_HEADER_OUT, но я установил для них обоих значение False, просто чтобы посмотреть, имеет ли это значение, но я все еще перенаправлен.