Я пытаюсь использовать cURL, чтобы одновременно сохранять изображение в файл, а также возвращать заголовки, которые были возвращены при загрузке этого файла для сохранения.
Причина в том, что существует уникальный cookie, который генерируется каждый раз, когда изображение загружается и / или сохраняется, поэтому, если я сохраню файл и затем сделаю другой запрос на тот же URL-адрес изображения, чтобы получить файл cookie, cookie не будет соответственно в паре с изображением, которое было сохранено (это изображение captcha).
Изображение может быть загружено только один раз , и при этой единичной загрузке изображения он должен быть сохранен ( без повторного запроса изображения с сервера ) и одновременно отображать заголовки, чтобы я мог получить файл cookie, который был создан при загрузке и сохранении образ.
Это то, что у меня есть до сих пор, которое возвращает заголовок и сохраняет файл, но файл поврежден, если рассматривать его как .jpg. если я изменил filetype на .txt, я могу увидеть заголовки, но потом кучу искаженных символов, которые не являются изображением под заголовками. Таким образом, ясно, что файл, который сохраняется, представляет собой комбинацию заголовков, а затем то, что должно быть изображением, я просто не могу получить их отдельно, убедившись, что есть только один запрос для изображения.
function getImageandCookie($ImageURL) { $rand = rand(); $image_file = $_SERVER['DOCUMENT_ROOT'] . '/image/' . $GLOBALS['id'] . $rand . '.jpg'; $fp = fopen ($image_file, 'w+'); $ch = curl_init($ImageURL); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'); $data = curl_exec($ch); curl_close($ch); fclose($fp); return $data; }
Более подробно: я пытаюсь сохранить изображение в файл на моем сервере, одновременно создавая заголовки, которые были возвращены при загрузке этого изображения для сохранения, доступного для остальной части моего скрипта.
Если вы загрузите это изображение: http://ipv4.google.com/sorry/image?id=2125815723022350864&hl=en
вы увидите, что создается файл cookie, который «привязан» к тексту внутри изображения. Если вы перезагрузите изображение или сделаете новый запрос на тот же URL-адрес, создайте новую пару «cookie & image».
Поэтому мне нужно загрузить это изображение один раз и сохранить его в файл, одновременно захватив заголовки (так как именно тот файл cookie, который привязан к этому конкретному изображению,), но только один раз запрашивает изображение.