X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Парсинг картинки
happyhand
happyhand
Topic Starter сообщение 29.7.2010, 20:53; Ответить: happyhand
Сообщение #1


Подскажите, как можно скопировать картинку?
В полученном содержимом страницы имеются адреса картинок: <img src... Как их можно вытащить, чтоб потом положить в базу?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 29.7.2010, 21:01; Ответить: alexdrob
Сообщение #2


Не совсем понятно что вам нужно, адрес к картинке или саму картинку сохранить?)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 29.7.2010, 21:04; Ответить: Letmetouchyou
Сообщение #3


вытягиваешь путь , тоесть src.
потом $img = file_get_contents(src)

в итоге у тебя в $img по сути изображение. то есть можешь сделать
[PHP]$fimg = fopen('image','w')
fwrite($fimg, $img);[/PHP]
и в файле 'image' - и будет тебе изображение.

это самы простой вариант.

если по сложнее, то можешь определать ее mime type и тд.

а что бы в базу записывать, то нужно знать что нада записать.
пить к изображения из файла, который парсишь, или путь к сохраненному на твоейм фтп изображения
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 30.7.2010, 9:32; Ответить: Arks
Сообщение #4


А в базу бинарником по предыдущему предложенному варианту... если база толстая.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 30.7.2010, 12:08; Ответить: happyhand
Сообщение #5


Вот пробую для начала загрузить картинку в директорию:
[php]
$img = file_get_contents("http://www.ууу.ru/var/уууru/storage/images/moda/novosty/avangardnie-printi-marni/1078227-1-eng-GB/Avangardnye-printy-Marni_image_276_367.jpg");
$path='art_pic/';
move_uploaded_file($img, $path);
[/php]
Что-то не выходит. Как правильно?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 30.7.2010, 12:59; Ответить: Letmetouchyou
Сообщение #6


sergey-g, потому что делать нада было как был написно выше. откузда взялся
move_uploaded_file ?

у тебя там есть массив $_FILES[] ?

[PHP]<?php

$url = "http://cs4351.vkontakte.ru/u43889994/94583949/x_ebfeaffa.jpg";

$img = file_get_contents($url);

$mime = get_headers($url);

$pattern = '/[^(\s)]+[^(\/)]\/(.+)$/';

preg_match($pattern, $mime[3], $m);

$mime = '.'.$m[1];

$path='./';

$name = rand(0,10).'_'.substr(md5(date('U')),0,9);

$file = fopen($path.$name.$mime,'w');

fwrite($file, $img);

fclose($file);

?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 30.7.2010, 13:56; Ответить: happyhand
Сообщение #7


В вашем случае всё работает, а в моём:
[php]
http://www.elle.ru/var/elleru/storage/imag...age_276_367.jpg
[/php]
ложит файл без расширения.
Это в регулярке что-то изменить нужно?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 30.7.2010, 14:10; Ответить: Letmetouchyou
Сообщение #8


sergey-g, ага
[PHP]<?php

$url = "http://www.elle.ru/var/elleru/storage/images/moda/novosty/nadelya-modi-v-londonskom-aeroportu/1078315-1-eng-GB/Nedelya-Mody-v-Londonskom-Aeroportu_image_276_367.jpg";

$img = file_get_contents($url);

$mime = get_headers($url);


$pattern = '/Content-Type:[^\/]+\/(.+)$/';



foreach($mime as $type){
if(preg_match($pattern, $type, $m)){
$mime = $m[1];
break;
}

}

//echo mime_content_type($url);



$mime = '.'.$m[1];

$path='./';

$name = rand(0,10).'_'.substr(md5(date('U')),0,9);

$file = fopen($path.$name.$mime,'w');

fwrite($file, $img);

fclose($file);

?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 30.7.2010, 14:15; Ответить: Letmetouchyou
Сообщение #9


а на самом то деле, сохранять разширения нету смысла.

браузеру важен зголовок а не разширение, как и в *nix системах
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
happyhand
happyhand
Topic Starter сообщение 30.7.2010, 15:34; Ответить: happyhand
Сообщение #10


Спасибо, всё получилось!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыТрафик в Телеграм (рассылка, инвайт, парсинг)
9 gelt 2853 8.4.2024, 15:28
автор: gelt
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКто и зачем покупает картинки обезьян по $200 тысяч?
NFT
167 metvekot 27437 6.3.2024, 21:58
автор: Boymaster
Открытая тема (нет новых ответов) ВКонтакте: полный комплекс услуг (массовая рассылка по стенам групп и в ЛС), парсинг, лайки, инвайты
Гарантия самой низкой цены
4 MaxChemist 1920 1.1.2023, 13:23
автор: MaxChemist
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСбор баз, парсинг информации, постинг, автоматизация
Качественно и в срок
21 SEOMR 20841 22.7.2022, 15:10
автор: iodjin
Открытая тема (нет новых ответов) Парсинг
0 alnsam 856 20.7.2022, 16:25
автор: alnsam


 



RSS Текстовая версия Сейчас: 23.4.2024, 17:22
Дизайн