Просмотр полной версии : получить картинку для 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 ничего не происходит
если не сложно поясните ваш код
спасибо за ответ, но по нажатию на кнопку do ничего не происходит
если не сложно поясните ваш код
Товарищ 9xakep предположил, что вы хотите встроить в свою страницу произвольную картинку, указав её непосредственный адрес.
без 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 рисовать ... ты наверное так и делаешь.
trikadin
27.01.2012, 19:48
Gozar, какая нагрузка вообще? Получаешь код страницы, парсишь его на предмет пары картинок, берёшь их url и добавляешь к себе на страницу. Не копируя себе на сервер.
О да, серв по-любому упадёт от вытягивания одной страницы с другого домена.
Человек сто зайдут одновременно, ткнут в скрипт и 95 из них не получит ничего. Ты о чём вообще говоришь? Твой пост похож на бред.
trikadin,
И твой тоже бред.
trikadin
27.01.2012, 19:51
Человек сто зайдут одновременно, ткнут в скрипт и 95 из них не получит ничего. Ты о чём вообще говоришь? Твой пост похож на бред.
Аргументацию, примеры, пожалуйста. У меня в примерах - контакт и фейсбук, которые делают именно так, как я описал, и отлично работают. Ваши примеры в поддержку своей точки зрения?
Ну да, какая нагрузка, гонять через сервер запросы в сеть.
devote,
Не неси ересь. На обычном хостинге под небольшой нагрузкой провайдер тебе вилку в твою заумную задницу воткнет. У тебя только и будут одни обрывы.
:lol:
За нагрузку да, согласен... но не путай иную нагрузку и запрос данных с какого-то там сервера.. Запросы ничего не грузят. И не пытайся спорить. Я очень много лет потратил на то что бы выучить PHP и не надо мне говорить что зная PHP я не знаю о том что он там грузит и при каких обстоятельствах
.Ты там что конопли обкурился?
Не имею понятия ни про какую то там коноплю, а говорю то что годами проверено. И не на одном проекте.
Ну конечно если у тебя три человека на сайте, ты можешь хоть картины через php рисовать ... ты наверное так и делаешь.
Дауж, и как же тебе вдолбить то... Еще раз объясняю. Есть PHP сервер, все что он будет делать ГРУБО в данном случае, это выступать как прокси сервер, нагрузка будет почти таже что и при обычной отдаче данных сервером. При этом ЦП у сервака будет нагружен не больше чем при обычном его использовании для отдачи контента для сайта. Все что будет происходить, открываться дополнительное соединение с другим сервером.
Кури маны родной.
Нука в студию оба выдали свои высоконагруженные проекты, реализованные на php.
Сервера facebook:
http://mainfun.ru/Images2/killout/serv2.jpg
trikadin
27.01.2012, 19:56
Нука в студию оба выдали свои высоконагруженные проекты, реализованные на php.
Я привёл примеры сайтов, работающих так.
Приводи свои)
trikadin
27.01.2012, 19:58
Сервера facebook:
Они такие лишь потому, что обслуживают миллионы запросов со всего света, а не потому, что реализуют такую технологию)
trikadin,
Не надо быть гением, чтобы понять что 100 человек похоронят ваши разглагольствования навечно. devote, Иди дальше учи php, тоже мне заслуга. Сейчас любой дурак его знает.
trikadin,
Когда ты приведешь пример своего высоконагруженного проекта, тогда и будет о чем говорить, а пока ты только догадки строишь.
Нука в студию оба выдали свои высоконагруженные проекты, реализованные на php.
ну к примеру: http://carspie.com/ любое обращение к селектам, тырит данные об авто из других сайтов... Ищет тачки по VIN номерам, постоянно загружает новые объявы с других сайтов, например с этого http://vsbrothers.com/ и еще с пару десятков сайтов. тоесть CRON постоянно смотрит новые тачки на разных сайтах, скачивает о них данные, качает фотки, конвертит их в нужный формат, упаковывает архивы и т.д. Все данные формируются из разных источников. И сайт работает уже в таком режиме более двух лет... Что-то хостер не вопит... И ты не поверишь, даже у меня дома в локале ЦП 0% при запущенном этом сайте.
ну к примеру: http://carspie.com/
Сколько человек в день на сайте?
Не надо быть гением, чтобы понять что 100 человек похоронят ваши разглагольствования навечно. devote, Иди дальше учи php, тоже мне заслуга. Сейчас любой дурак его знает.
Если у тебя мозгов не хватает, то и одна команда в PHP может нагрузить ЦП на 100%. И таких говнокодеров полно, которые юзают к примеру всякие там file_get_contents() и т.д. Именно эти функции и грузят все это... Если писать все грамотно и на более низком уровне, ничего грузить не будет.
Сколько человек в день на сайте?
человек по 1500 в день, хотя эту статистику я смотрел полгода назад, щас может быть иная цифра. Но количество людей если ты не понял не имеет значение для данного сайта... ибо он и без людей выполняет огромную работу автоматически... И ничего не падает.
devote,
Спасибо за статистику.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot