получить картинку для URL
подскажите как можно реализовать автоматическое получение картинки при указании URL.
например, как это сделано на Facebook и Delicious Постим ссылку и при этом нам выдается несколько картинок на выбор со страницы |
<img src='' id='img'> <input type='text' value='' id='text'> <input type='button' value='do' onclick="a()"> <script> function a() { var _src = document.getElementById('text').value document.getElementById('img').src = _src } </script> Это имели ввиду? P.S. в текстовое поле вставьте ссылку картинки |
Необходимо парсить исходник страницы, на которую указывает ссылка. Найти все <img /> тэги и изъять из них адреса картинок. Но, к сожалению, без серверной части это невозможно.
|
спасибо за ответ, но по нажатию на кнопку do ничего не происходит
если не сложно поясните ваш код |
Цитата:
|
без php не обойтися как я понял
попробую что-то вроде $url="http://yandex.ru"; $content=file_get_contents($url); $count=preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $content, $matches); echo $count."<br>"; echo $matches[0][0]."<br>"; не слишком ли грузить будет сервак? |
На серваке так делать не следует. Обойтись без php нужно. Твой сервер при любой нагрузке умрет.
|
Да, вам нужно что-то в таком духе.
Ещё на ум пришла мысль использовать YQL, но суть та же, просто сервер будет не ваш, а Yahoo. |
как быть?
|
В любом случае Facebook и пр. используют свои сервера хотя бы потому что они отдают не полную картинку, а лишь её миниатюру.
|
мне тоже самое и надо сделать.
человек будет добавлять URL и при этом надо выводить несколько картинок с этого URL... в конечном итоге одна из них(на выбор пользователя) сохраниться на серваке |
Gozar,
как же быть если не PHP? |
malkoff,
У тебя свой сервер или хостинг, vps тариф, нагрузка? |
А вообще не парься, сделай так как считаешь нужным. Когда упадет сервак поймешь как делать не стоило ;)
Что-то можно реализовать на среднем по цене хостинге, а для чего-то и трех серверов мало будет. Любое подобное решение делается через тестирование, а не советы на форуме. |
если есть более оптимальные методы, то лучше их сразу использовать.
вопрос на форуме и задавался для того, чтобы не доводить до того пока упадет. нужна идея как оптимальнее сделать, чем через такой вот парсинг |
malkoff,
ССылку на facebook где делается то, что ты говоришь в студию. |
просто берешь любую ссылку в интернете и добавляешь в пост. жмешь опубликовать.. при этом рядом с ссылкой появляется картинка(миниатюра)
|
Грузить сервак будет однозначно. Превью со страницы так вообще ума не приложу как с помощью php сделать.
С помощью расширения для браузера подобное сделать довольно просто, по крайней мере мне, но я так понял такой вариант не прокатит. Без разницы как ты будешь делать, т.к. если ты будешь делать это с помощью php, то такую же реализацию ты врядли получишь, а первый залетевший дятел разрушит цивилизацию(повесит сервер). Ты форумом ошибся, спроси на phpclub. Можно ещё отявленных флешеров поспрашать, но насколько я знаю решение с flash работать будет не на всех сайтах. С помощью js сделать однозначно нельзя. |
Да не, чуваку надо просто вытянуть адреса всех картинок из статьи на сайте, ссылку на который пользователь всунет в текстбокс. Это не превью всей страницы, только отдельных картинок миниатюры. Но на браузерном JS это действительно не сделаешь.
|
Gozar,
Дауж, по твоим постам выше я понял что в PHP ты не бумбум.. Полный ноль. Все можно сделать и на PHP аккуратно и без повисаний. Если не в курсе есть такие свойства при запросах, timeout называется. Еще так же не забываем что запрос в сеть не грузит комп, а лишь останавливает работу текущего скрипта, это в том случае если делать запрос синхронно. Все делается нормально, и никто никогда не повесит то что не возможно повесить... Объясни мне пожалуйста, этож каким членом может повесить мой сервак сторонний сайт? тем что долго будет отдавать данные, или не отвечать? или еще чего?... для этого и существуют таймайту. Сброс запроса при достижении лимита ожидания. Автору, спокойно может юзать PHP но не file_get_contents() используй расширение CURL там все можно настроить, и таймауты и заголовки получать/не получать и т.д. |
devote,
Не неси ересь. На обычном хостинге под небольшой нагрузкой провайдер тебе вилку в твою заумную задницу воткнет. У тебя только и будут одни обрывы. Ты там что конопли обкурился? Ну конечно если у тебя три человека на сайте, ты можешь хоть картины через php рисовать ... ты наверное так и делаешь. |
Gozar, какая нагрузка вообще? Получаешь код страницы, парсишь его на предмет пары картинок, берёшь их url и добавляешь к себе на страницу. Не копируя себе на сервер.
О да, серв по-любому упадёт от вытягивания одной страницы с другого домена. |
Человек сто зайдут одновременно, ткнут в скрипт и 95 из них не получит ничего. Ты о чём вообще говоришь? Твой пост похож на бред.
|
trikadin,
И твой тоже бред. |
Цитата:
|
Ну да, какая нагрузка, гонять через сервер запросы в сеть.
|
Цитата:
За нагрузку да, согласен... но не путай иную нагрузку и запрос данных с какого-то там сервера.. Запросы ничего не грузят. И не пытайся спорить. Я очень много лет потратил на то что бы выучить PHP и не надо мне говорить что зная PHP я не знаю о том что он там грузит и при каких обстоятельствах . Цитата:
Цитата:
Кури маны родной. |
Нука в студию оба выдали свои высоконагруженные проекты, реализованные на php.
Сервера facebook: ![]() |
Цитата:
Приводи свои) |
Цитата:
|
trikadin,
Не надо быть гением, чтобы понять что 100 человек похоронят ваши разглагольствования навечно. devote, Иди дальше учи php, тоже мне заслуга. Сейчас любой дурак его знает. |
trikadin,
Когда ты приведешь пример своего высоконагруженного проекта, тогда и будет о чем говорить, а пока ты только догадки строишь. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
devote,
Спасибо за статистику. |
Часовой пояс GMT +3, время: 10:33. |