Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.6190
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 24.09.2008, 14:40   #1
Юнга
white powder
 
Аватар для Юнга
 
Регистрация: 29.04.2007
Сообщений: 2,649
Бабло: $351110
По умолчанию Подскажите по php - запрос пикчи по урлу.

Особо с ним никогда не работал, но тут понадобилось мелкоскриптик сообразить.

Надо jpeg считывать в память. При это настройки апача/php изменить нельзя.

пробовал такую конструкцию
PHP код:
$im=imagecreatefromjpeg('http://www.google.com/adsense/static/en_US/images/logo_main.gif'); 
и такую
PHP код:
$im=file_get_contents('http://www.google.com/adsense/static/en_US/images/logo_main.gif'); 
и на обоих выдает ошибку
Цитата:
URL file-access is disabled in the server configuration in /home/domains/...
есть какой-то способ более коректно это дело обойти? Curl там подключен.
__________________
господин мойва любит вас
Юнга вне форума  
Старый 24.09.2008, 14:48   #2
solar
Senior Member
 
Регистрация: 04.04.2007
Сообщений: 607
Бабло: $7700
По умолчанию

если не можешь перенастроить пхп чтобы разрешить качать файлы с удаленных хостов, то остается переписать на сокетах
типа так:
Код:
$data = ""; // tyt budet JPEG
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET /picture.jpg HTTP/1.1\r\n";
    $out .= "Host: www.example.com\r\n";
    $out .= "Connection: Close\r\n\r\n";

    fwrite($fp, $out);
    while (!feof($fp)) {
        $data.= fgets($fp, 128);
    }
    fclose($fp);
}
а так тебе надо в php.ini добавить строчку
allow_url_access = 1
(кажется так)
solar вне форума  
Старый 24.09.2008, 14:50   #3
Юнга
white powder
 
Аватар для Юнга
 
Регистрация: 29.04.2007
Сообщений: 2,649
Бабло: $351110
ТС -->
автор темы ТС По умолчанию

Супер-спасибо! Щас попробую по этому сокс-варианту..
__________________
господин мойва любит вас
Юнга вне форума  
Старый 24.09.2008, 15:07   #4
Юнга
white powder
 
Аватар для Юнга
 
Регистрация: 29.04.2007
Сообщений: 2,649
Бабло: $351110
ТС -->
автор темы ТС По умолчанию

Вот чето считывает, но, пикчу саму ломает походу.
Сделал вывод через echo переменной $data, вот че в начале идет
Цитата:
HTTP/1.1 200 OK Date: Wed, 24 Sep 2008 11:03:40 GMT Server: Apache/2.2.3 (CentOS) Last-Modified: Fri, 05 Sep 2008 20:51:01 GMT ETag: "21ce19-cfc5-3a269740" Accept-Ranges: bytes Content-Length: 53189 Connection: close Content-Type: image/jpeg яШяаJFIF``яЫC   $.' ",#
как то хттп-заголовок можно убрать?

Потому как это
PHP код:
header('Content-type: image/jpeg');
imagejpeg($data); 
потом не выводит картинку.
__________________
господин мойва любит вас
Юнга вне форума  
Старый 24.09.2008, 15:21   #5
mavook
Профи Интернет коммерции
 
Аватар для mavook
 
Регистрация: 04.04.2007
Сообщений: 2,345
Бабло: $456525
По умолчанию

советую бинарный курл
етот под винду под уникса перенастроить тока путь )
exec("c:/curl/curl.exe http://url/captcha.php -b c:/cookie.txt -c c:/cookie.txt -k -o c:/home/domain/captcha1.png",$results,$return);
где url/captcha.php - ето путь откуда кочать - куки ето где хранить куки и считывать куки если пикча оттдается с помощью кук
ну и куда сохранить последнее
выполнит тока впуть
mavook вне форума  
Старый 24.09.2008, 15:23   #6
mavook
Профи Интернет коммерции
 
Аватар для mavook
 
Регистрация: 04.04.2007
Сообщений: 2,345
Бабло: $456525
По умолчанию

можно даже поддержку прокси добавить тупо
-x hostort
из плюсов данного метода избавляешься от гемороя а картинку уже со своего хоста качаешь смотришь работаешь с ней
mavook вне форума  
Старый 24.09.2008, 15:27   #7
Юнга
white powder
 
Аватар для Юнга
 
Регистрация: 29.04.2007
Сообщений: 2,649
Бабло: $351110
ТС -->
автор темы ТС По умолчанию

А на php в память курлом его можно считать?
мне на диск писать не надо, потом просто отдавать-трансформировать через GD.
__________________
господин мойва любит вас
Юнга вне форума  
Старый 24.09.2008, 15:28   #8
deschain
Senior Member
 
Аватар для deschain
 
Регистрация: 01.11.2007
Сообщений: 2,275
Бабло: $288535
По умолчанию

Код:
$fp = @fopen($SAVE_IMAGE_FILE, "wb");
if ($fp) {
	$c = curl_init();
	curl_setopt($c, CURLOPT_URL, $IMAGE_URL);
	curl_setopt($c, CURLOPT_FILE, $fp);
	curl_setopt($c, CURLOPT_HEADER, FALSE);
	curl_setopt($c, CURLOPT_RETURNTRANSFER, TRUE);
	$response = curl_exec($c);
	curl_close($c);
}
@fclose($fp);
deschain вне форума  
Старый 24.09.2008, 15:29   #9
deschain
Senior Member
 
Аватар для deschain
 
Регистрация: 01.11.2007
Сообщений: 2,275
Бабло: $288535
По умолчанию

Если сохранять не надо:

Код:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $IMAGE_URL);
curl_setopt($c, CURLOPT_FILE, $fp);
curl_setopt($c, CURLOPT_HEADER, FALSE);
curl_setopt($c, CURLOPT_RETURNTRANSFER, TRUE);
$image = curl_exec($c);
curl_close($c);
Исходник картинки в переменной $image.
deschain вне форума  
Старый 24.09.2008, 16:30   #10
Юнга
white powder
 
Аватар для Юнга
 
Регистрация: 29.04.2007
Сообщений: 2,649
Бабло: $351110
ТС -->
автор темы ТС По умолчанию

Уфф, братцы, че ему надо, а? Джипег вроде тянет нормал.. но не кажет пикчу...

PHP код:
<?php

$c 
curl_init();
curl_setopt($cCURLOPT_URL'http://www.gofuckbiz.com/spb/forsale2.jpg');
curl_setopt($cCURLOPT_HEADERFALSE);
curl_setopt($cCURLOPT_RETURNTRANSFERTRUE);
$image curl_exec($c);
curl_close($c);
 
//echo $image;
// Set the content type header - in this case image/jpeg
header('Content-type: image/jpeg');

// Output the image
imagejpeg($image);

// Free up memory
imagedestroy($image);
?>
__________________
господин мойва любит вас
Юнга вне форума  
Закрытая тема



Опции темы
Опции просмотра