CURL и парсинг изображений
182 повідомлення
#13 років тому
public function parse($file) {
$ch = curl_init ();
curl_setopt ($ch , CURLOPT_URL , $file);
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11");
curl_setopt ($ch , CURLOPT_HEADER , 0);
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ($ch , CURLOPT_BINARYTRANSFER , 1);
$content = curl_exec($ch);
echo $content;
curl_close($ch);
}
link (на этот метод): посилання
С текстовыми файлами все ок. Все парсит. Но при получении изображений иероглифы. Другими словами, как получить объект с теми же HEADER параметрами?
44 повідомлення
#13 років тому
Перед echoheader("Content-type: image/png");
И контент тайп можно определять с $content если выставить curl_setopt ($ch , CURLOPT_HEADER , 1);
182 повідомлення
164 повідомлення
182 повідомлення
#13 років тому
Metallica, Я видел этот класс уже вчера в гугле, ну по коду видно что оно сохраняет к себе на сервер. Можно ли без сохранения просто вывести ее?
164 повідомлення
#13 років тому
А, для вывода, ну тогда нужно сделать сначала imagepng или какой там формат вместе с хедером тогда вывед его ничего не покажет если работаете с картинкой
182 повідомлення
#13 років тому
Вообще ничего не могу понять. Обычным способом без CURL тоже выводит пустой image =(((public function parse($file) {
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_JPEG));
header('Content-Disposition: filename="test.jpg"');
$img = imagecreatefromjpeg($file);
if ($img) {
imagejpeg($img);
}
}
посилання
44 повідомлення
#13 років тому
$ch = curl_init ();
curl_setopt ($ch , CURLOPT_URL , 'посилання;);
curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11");
curl_setopt ($ch , CURLOPT_HEADER , 0);
curl_setopt ($ch , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ($ch , CURLOPT_BINARYTRANSFER , 1);
$content = curl_exec($ch);
curl_close($ch);
header("Content-type: image/png");
echo $content;
Рабочий код