За последние 24 часа нас посетили 16655 программистов и 1681 робот. Сейчас ищут 839 программистов ...

Как это реализовано?

Тема в разделе "Прочие вопросы по PHP", создана пользователем nikij, 18 мар 2014.

  1. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Доброго времени суток всем!
    Подскажите пожалуйста, как на этом сайте http://www.zemal.com.ua/product/1472 реализован вывод информации о наличии размеров к товару для каждой картинки?
    Как лучше сделать в моем случае, если я в свою базу данных вручную добавляю информацию о каждом товаре?
    И скриншоты тоже к каждому товару на моем сервере храняться..
    Заранее благодарю за ответы.
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    это JavaScript
     
  3. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    А как лучше сделать в моем случае, если я в свою базу данных вручную добавляю информацию о каждом товаре?
    И скриншоты тоже к каждому товару на моем сервере храняться..
    Вот моя структура: http://shopmax.com.ua/detail/260/
     
  4. nrobert

    nrobert Новичок

    С нами с:
    19 мар 2014
    Сообщения:
    1
    Симпатии:
    0
    Делайте запрос в базу, сформируйте массив данных для каждой превью (картинка, наличие...), на событие onclick подставляйте нужные значения в нужные места: картинку - в рамку, наличие - в свой элемент...
     
  5. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    не совсем понял о чем вы.. Можете чуть подробней, или пример дать?
     
  6. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Помогите пожалуйста, как мне вывести по отдельности информацию которая отображается в тегах rel?
    И такой вот вопрос, не забанят ли ip моего хостера при частом обращении на этот сайт?
    В сутки будет 25-30 тыс. обращений минимум..
    Ведь у них нет xml, а других вариантов я не вижу..

    Код (Text):
    1. <li class='nomargin'>
    2.                                                             <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_hhlVpu654g.jpg" alt="Женская одежда - Платья - PL1-897" title="Женская одежда - Платья - PL1-897"
    3.                                                             rel="44_"
    4.                                                             class="size_change" onclick="$('#slider_prod').cycle(0,'fade');"/>
    5.                                                         </li>
    6.                                                                                                                                                                                                                                                                                        <li class='margin'>
    7.                                                             <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_bDKogSlETF.jpg" alt="Женская одежда - Платья - PL1-897" title="Женская одежда - Платья - PL1-897"
    8.                                                             rel="44,46,48,50_"
    9.                                                             class="size_change" onclick="$('#slider_prod').cycle(1,'fade');"/>
    10.                                                         </li>
    Пробовал так сделать, много лишнего кода выводит..

    Код (Text):
    1. $url = "http://www.zemal.com.ua/product/1669";
    2.  $unique_start = 'rel="';
    3.  $unique_end = '_"';
    4.  function weather($url, $unique_start, $unique_end) {
    5.  $code = file_get_contents($url);
    6.  preg_match('/'.preg_quote($unique_start,
    7.  '/').'(.*)'.preg_quote($unique_end, '/').'/Us', $code, $match);
    8.  return $match[1];
    9.  }
    10.  echo weather($url, $unique_start, $unique_end);
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    так ты п*дишь чужой сайт, а не строишь свой? ))))
     
  8. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Попробуй этот код

    Код (PHP):
    1. $url = "http://www.zemal.com.ua/product/1669";
    2. $html = file_get_contents($url);
    3.  
    4. $pattern = '/<img[^>]+rel="(.*)"/';
    5. preg_match_all($pattern, $html, $matches);
    6. print_r($matches);
     
  9. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Нет, полностью чужой сайт я не пи*жу, только информацию о наличии..

    Благодарю за помощь, теперь выводится массив..
    Я думаю решить эту задачу таким способом:
    у меня сейчас есть свзятьм между таблицей скринов и цветами,
    в таблице скринов добавить поле screen_name и заносить туда название скриншота с сайта донора
    А потом делать сравнения.. Это нормальный вариант или нет? Может есть более простые решения?
     
  10. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Сорри я не с начала вошел в тему и мне тупо лень читать и вникать, но если вы собираешся хранить значения rel в 1 поле у тебя могут быть проблемы.
    В rel записаны данные через запятую, если ты захочешь искать среди этих значений у тебя будут проблемы.
     
  11. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    нет, вы не так поняли..
    Я хочу хранить в своей базе данных имя картинки с сайта донора, допустим poduct_images_hhlVpu654g.jpg ,
    а при выводе у себя на сайте мне нужно вывести размеры которые ей принадлежат.. Подскажите пожалуйста, как это сделать?
     
  12. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    В поле допустим img хранишь имя файла. Файлы нескольких размеров. Большие допустим в одной директории маленькие в другой. Когда выводишь читаешь имя из базы и в зависимости от того большое или маленькое изображние должно быть подставляешь директорию.
     
  13. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Да это понятно, с этим проблем нет..)
    Как мне с помощью curl вывести размеры допустим которые пренадлажат картинке с именем poduct_images_hhlVpu654g.jpg

    Этот код выводит массив со всеми размерами и картинками, а нужно чтобы один опреденный, взависимости от имени картинки
    Код (Text):
    1. $url = "http://www.zemal.com.ua/product/1669";
    2. $html = file_get_contents($url);
    3.  
    4. $pattern = '/<img[^>]+rel="(.*)"/';
    5. preg_match_all($pattern, $html, $matches);
    6. print_r($matches);
     
  14. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    никто не поможет? (
     
  15. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Не понятно, какие все?
    И там всего 4 и все с poduct_images_*.jpg
    ;)
     
  16. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    ну картинки там имеют разные имена, poduct_images_eXlvcOIqh5.jpg, poduct_images_lQugqKIAks.jpg, poduct_images_B6ySmuuZ6p.jpg, poduct_images_kVROl9rowc.jpg

    Нужно допустим вывести размеры которые пренадлежат только картинке с именем poduct_images_eXlvcOIqh5.jpg
     
  17. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    уловили суть?)
     
  18. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Ну так и возьмите только у нее...
    В чем проблема?
     
  19. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Вот я и спрашиваю, как взять только у нее..?
    с этим кодом как только не мучался, не получается..

    Код (Text):
    1. $url = "http://www.zemal.com.ua/product/1669";
    2. $html = file_get_contents($url);
    3.  
    4. $pattern = '/<img[^>]+rel="(.*)"/';
    5. preg_match_all($pattern, $html, $matches);
    6. print_r($matches);
     
  20. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    может подключишь их css к себе на страницу и все дела?
    размеры для картинок у них хранятся в стилях
    Код (PHP):
    1. #slider_prod img {
    2.     border: 1px solid #B0B0B0;
    3.     border-radius: 2px;
    4.     height: 463px;
    5.     width: 306px;
    6. }
    сам style.css
    http://www.zemal.com.ua/css/style.css

    Добавлено спустя 2 минуты 44 секунды:
    только надо возвращать ид как у них на странице
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А если загруженные каритинки - это HD фоты весом по 4 метра каждая? Ну вот такие были предоставлены, что поделать. И их надо 40 штук отдать на страницу с результатами поиска товаров. Да, CSS сработает, браузер их ужмет, все ок. Но сервер на один запрос должен будет родить 160 метров трафика.

    Так что не вариант. Все ресурсы матерые генерят превьюхи и смоллы на стороне сервера и хранят рядом с оригиналом.
     
  22. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Fell-x27, предложил как вариант, а то автор темы настаивает на каком-нибудь варианте)).
    Ну да, он то так не хочет)))
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Что хочет сказать автор, поймет только учительница литературы со стажем 59 лет трудовых. Чесслово. Мб он и сам не знает толком.
     
  24. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
  25. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Нет, вы не так поняли что я хочу сделать..
    Все товары (скрины, описания, и т.д) с сайта поставщика будут храниться у меня на сервере..
    К каждому скриншоту на своем сервере я буду присваивать соответственное ему имя скрина с сайта поставщика..
    Мне нужно грабить только размеры которые есть в наличии..

    Возьмем к примеру этот товар http://www.zemal.com.ua/product/1669 :
    Картинки имеют разные имена, poduct_images_eXlvcOIqh5.jpg, poduct_images_lQugqKIAks.jpg, poduct_images_B6ySmuuZ6p.jpg, poduct_images_kVROl9rowc.jpg

    Вот как мне вывести размеры которые пренадлежат только картинке с именем poduct_images_eXlvcOIqh5.jpg ?
    Надеюсь понятно объяснил..