Импортирование информации с чужого сайта на свой сайт в свой дизайн PHP


Оглавление (нажмите, чтобы открыть):

Загрузка изображений с других сайтов на PHP

Меня попросили написать скрипт загрузки изображений с других сайтов на PHP с последующим сохранением на сайт. Надеюсь, что данный скрипт будет полезен и другим, быть может, не с точки зрения практики, а хотя бы алгоритма.

Давайте сразу приведу этот тривиальный PHP-код:

Вот такой тривиальный скрипт, который едва ли нуждается в каких-либо комментариях. И аналогично можно загружать любые файлы с других сайтов и сохранять их к себе.

Теперь о том, где это может пригодиться. Я представил себе такую ситуацию, допустим, был форум, на котором изображения не хранились. А все изображения надо было загружать на сторонний сервис и прописывать к ним только путь. Потом владельцу форума захотелось сохранять все изображения у себя (допустим, место на хостинге стало позволять), но чтобы не пропали все предыдущие изображения, их нужно сохранить к себе. Разумеется, когда есть тысячи этих изображений, то сохранять их вручную — плохой вариант.

Вот тут и придёт на помощь этот скрипт по загрузке изображений с других сайтов на PHP. Собираем пути из BB-кода сообщений, загружаем все изображения к себе на сайт, меняем BB-код сообщений. Возможно, есть и ещё какие-нибудь варианты использования данного скрипта.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Как выгрузить каталог товаров с интернет-магазина за 1 минуту

    Дата публикации: 2020-02-27

    От автора: решили открыть онлайн-бизнес и уже даже нашли поставщика, но столкнулись с трудностью заполнения сайта товарами? Действительно, денег на найм сотрудника для этого дела тратить не хочется, а самостоятельно заниматься монотонной многочасовой работой желания нет и подавно. Так что же делать? Читайте эту статью. В ней мы сегодня расскажем, как выгрузить каталог товаров с интернет-магазина.

    Как правило, импорт данных с другого коммерческого сайта на свой связан с желанием заниматься идентичной деятельностью и отсутствием времени на ручную загрузку продукции. Также эта необходимость может быть обоснована потребностью быстрого обновления ассортимента. Если вы работаете с поставщиком, который имеет собственную онлайн-витрину, то импорт данных позволит сэкономить существенное количество времени.

    Уже создали свой онлайн-проект и хотите узнать, как скопировать интернет-магазин за 1 минуту? Тогда переходите к чтению следующего абзаца — там вся соль. Ну, а если вы находитесь на самом старте, то перед тем как перейти к изучению темы по скачиванию каталога из интернет-магазина, лучше для начала пройдите обучающий курс по созданию онлайн-проекта под ключ.

    Получив базовые знания, вы сумеете избежать подводных камней, с которыми сталкиваются начинающие стартаперы.

    Как создать сайт самому?

    Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

    Варианты решения задачи

    Как скачать каталог товаров с интернет-магазина? Существует 3 возможных решения этой проблемы:

    стандартный импорт, предусмотренный большинством CMS-систем. Это возможно при помощи создания файлов форматов csv, xls, yml и т. д.;

    импорт благодаря механизму обмена данными 1С (присутствует на системах 1С-Битрикс, UMI и т.д.);

    программирование собственного механизма импорта данных.

    Давайте теперь подробно остановимся на каждом из способов по отдельности.

    Стандартный импорт данных

    Если вы прошли какой-нибудь курс по созданию интернет-магазина вроде этого и только начинаете разбираться в прелестях электронной коммерции, то лучше импортировать данные именно стандартным способом — через csv, xls и другие подобные базы. С их помощью можно скопировать основные данные, такие как наименование товара, краткое и полное описание, изображение и т. п., и загрузить их на свой сайт.

    Тем не менее, с импортом более сложных пунктов, вроде детальных характеристик и отдельных опций, зачастую возникают проблемы. Они не поддаются копированию за счет специфической особенности внутренней системы, поэтому некоторое время все равно придется потратить на ручную доработку.

    Плюс ко всему еще один минус этого способа заключается в несовместимости файлов. То есть, если одна CMS предусматривает импорт данных через csv, это совсем не означает, что другая система будет поддерживать тот же формат.

    Сам процесс обмена выглядит достаточно просто:

    Заходите в админку интернет-магазина.

    Далее в основной раздел каталога.

    Находите иконку (или отдельный раздел), отвечающий за импорт данных.

    Скачиваете готовый файл.

    Как создать сайт самому?

    Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

    Загружаете его на свой сайт.

    Если доступа к админке первоисточника нет, то просите предоставить этот файл владельца сайта.

    Импорт при помощи механизма обмена данными 1С

    Достаточно удобная фича — обмен данными через 1С. Для этого, правда, необходимо, чтобы оба сайта были созданы именно на этой платформе. Тем не менее, современные разработчики уже додумались, как эмулировать протокол 1С.

    Поэтому, даже если вы создали интернет-магазин на другой базе, то, покопавшись в интернете, сможете решить и эту проблему. В целом процесс похож на предыдущий, за исключением того, что он проходит более структурировано и проще за счет единого шаблона файлов.

    Однако есть и 2 существенных минуса в механизме обмена данными от 1С — скорость и периодические сбои. Если говорить о первом пункте, то связано это со специфическими особенностями работы системы. Сбои вы начнете замечать при работе с большим количеством товаров (от 10 тысяч единиц). Как правило, это выражается в отсутствии поддержки ZIP, проблемами с доступной памятью для php-процессов и т.д.

    Программирование индивидуального механизма импорта

    Вариант можно считать самым сложным и дорогостоящим, однако он наиболее точно подходит для решения проблемы исходя из ваших потребностей. Персональная разработка поможет вам расширить возможности каталога продукции и более эффективно его использовать.

    Создать собственный механизм импорта данных можно самостоятельно, пройдя несколько обучающих курсов. Другой путь — обращение к опытным разработчикам, которые сделают все за вас и предоставят готовый инструмент для парсинга контента. Неплохим решением также станет сервис CatalogLoader, предоставляющий решения для интернет-бизнеса. Можете попробовать посотрудничать с этой компанией и заказать программу для обработки прайсов.

    Стоит отметить, что если вы только собираетесь создать свой первый коммерческий сайт, то лучше инвестировать деньги в знания и поиск более доступных способов выгрузки каталога. Это позволит вам сэкономить средства за счет подбора более эффективных и выгодных решений.

    Преимущества индивидуальных разработок для парсинга

    Да, создание отдельных механизмов импорта данных или же покупка специального ПО для парсинга выйдет вам достаточно дорого. Тем не менее нужно отметить, что этот вариант имеет массу преимуществ по сравнению с бесплатным вариантом переброса нужной информации о товарах через xls и другие подобные файлы. Среди них стоит выделить следующие пункты:

    полное сохранение первоначальных данных;

    упрощенная система корректирования информации (наценка, изменение наименований);

    полное сохранение текстового формата подачи информации;

    удобные отчеты о вносимых изменениях;

    максимально простой процесс загрузки данных (в идеале в 1 клик).

    Ну вот, в принципе, и все. Сегодня мы с вами разобрались, как скопировать товары с чужого интернет-магазина и подобрали несколько возможных способов решения этой задачи. При желании поглубже окунуться в тонкости электронной коммерции, можем порекомендовать вот этот курс по созданию сайтов на ВордПресс. Там вы узнаете огромное количество полезных фишек, которые уже сегодня можно внедрить на практике.

    Если информация была полезна, поделитесь ссылкой на эту статью с коллегами по работе и друзьями в VK, Facebook и других социальных сетях. Наверняка они будут вам признательны, ведь может быть, именно сейчас проблема импорта данных не дает им покоя. Успешных продаж вашему интернет-магазину. Пока-пока!

    Как создать сайт самому?

    Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

    Хотите узнать, что необходимо для создания сайта?


    Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

    Как вставить сайт на сайт?

    Долго думал, как назвать статью, лучше не придумал. Но сейчас вы сразу поймете в чем суть. У вас есть сайт, вы пишите на нем статьи и это здорово. Но чего-то не хватает? Человек пришел, почитал, и ушел, возможно, навсегда. А вам так хочется, чтобы он не раз вернулся на ваш сайт. А куда люди возвращаются чаще всего? Правильно, на сервисы!

    Но сделать на своем сайте даже небольшой сервис, типа фотохостинга или сокращателя ссылок могут не все, нужен некоторый опыт. Но что мешает нам показывать чужой сервис на своем сайте? Практически ничего! Как это сделать? Вот тут и уместно название статьи: как вставить сайт на сайт?

    Для профи я не сделаю открытия, в для новичков это будет, скорее всего, полезно. Хотя, если честно, я ни разу не видел такого подхода ни на одном блоге. А зря, все эти фишки часто дают хороший результат. Хороший пример — это мой способ получения обратных ссылок, описанный в этой статье. Результат — 38512 ссылок, и все естественные ��

    Мастер Йода рекомендует:  Как составить бриф на разработку сайта

    В этом же случае все решается банальным iframe. Сразу перейду к практике: я порой пользуюсь сервисом сжатия png картинок. Есть замечательные онлайн сервисы, ими можно пользоваться без проблем. Но тут есть минус: нужно постоянно держать в уме или в закладках все эти сервисы, вы покидаете свой сайт и пользуетесь чужим. А так, если вставить сайт в сайте iframe, то вы будете пользоваться сервисом (да и не только вы) не покидая своего сайта!

    Я уже сегодня сделал на отдельной странице себе такой псевдосервис — Сжать фото онлайн без потери качества (естественно, в заглавии хороший НЧ запрос, и в поясняющем тексте тоже)

    Сразу даже и не понятно, что это чужеродный сайт поселился на моем сайте. Работает все так же, как если бы вы зашли на родной сервис. И так можно вставить практически любой сайт в сайт, единственное условие — АДАПТИВНОСТЬ первого, иначе будет неудобно пользоваться. Хотя, допускаю, что это можно как то решить.

    Ну и конечно рекламный блок между текстом и сервисом, может кто и кликнет, тем более под сервисы часто дают рекламу, тогда она будет полностью релевантна.

    Как вставить сайт в сайт за 1 минуту?

    Так как вставить сайт в сайт? Все просто, держите это маленький код:

    Теперь создаете страницу и в режиме html вставляете этот код, заменив мой url на свой.

    Пояснения для тех, кто не в теме: width — это ширина, нужно выставить ширину вашего шаблона, height — это высота, тут нужно подбирать оптимально, чтобы не показывать лишнего, но при этом и не урезать функционал.

    Я сегодня сделал еще одну подобную страницу — дешифратор ссылок, долго искал сервис и до сих пор не уверен, что это лучший.

    Под каждым таким сервисом нужно создать список других аналогичных сервисов, чтобы получился некий каталог. В этом случае ценность страницы значительно увеличится. Но ссылки лучше скрыть, как описано в этой статье.

    Можно так же вставить сквозную ссылку в меню, чтобы немного прокачать такую страницу, да и вам самим будут удобно быстро к ней обращаться. Что думаете, как вам такой подход?

    Как сделать iframe адаптивным?

    Вот какой метод можно использовать в этом случае:

    Создание PHP+MySQL сайта: от простого к сложному — шаг первый

    Для создания перспективного, расширяемого и эффективного сайта любой сложности следует начинать с простого. Это процесс нелёгкий, требует определённых базовых знаний PHP и MySQL, но если его рассмотреть по пунктам — то можно составить своего рода «рабочий план», который пригодится при создании новых сайтов. Подготовим «ядро» и базу для проекта. Вначале это будет обычный сайт визитка, но потом, добавляя функционал, его можна превратить во что угодно. Итак, приступим.

    1. Подготовка базы данных. Создаём первую таблицу в БД MySQL

    Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
    В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:

    • page_id — идентификатор страницы (SMALLINT, primary key, auto_increment);
    • page_alias — псевдоним страницы для строки адреса ЧПУ (VARCHAR, 255);
    • page_title — название страницы в окне браузера (VARCHAR, 255);
    • page_meta_d — мета описание страницы для тега meta description (VARCHAR, 255);
    • page_meta_k — мета ключевые слова для тега meta keywords (VARCHAR, 255);
    • page_h1 — заголовок страницы (VARCHAR, 255);
    • page_s_desc — краткое описание материала, например если материалы сайта будут в виде блога (TEXT);
    • page_content — основной текст страницы, который будет выводиться в центральную колонку сайта (TEXT);
    • page_publish — содержит «Y» — если страница опубликована, или «N» — если она скрыта (CHAR, по умолчанию «Y»).

    Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.

    2. Создаём файл конфигурации сайта

    В корневой папке сайта, которая должна быть пуста на данном этапе, создаём папочку «cfg», в ней с помощью .htaccess закрываем доступ директивой «deny from all». Создаём файл core.php следующего содержания:

    link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
    mysql_select_db($this->db);
    mysql_query(‘SET NAMES utf8’);
    >

    function close() <
    mysql_close($this->link);
    >

    function run($query) <
    $this->query = $query;
    $this->result = mysql_query($this->query, $this->link);
    $this->err = mysql_error();
    >
    function row() <
    $this->data = mysql_fetch_assoc($this->result);
    >
    function fetch() <
    while ($this->data = mysql_fetch_assoc($this->result)) <
    $this->fetch = $this->data;
    return $this->fetch;
    >
    >
    function stop() <
    unset($this->data);
    unset($this->result);
    unset($this->fetch);
    unset($this->err);
    unset($this->query);
    >
    >

    Этот файл пока содержит только простой класс подключения к базе данных, но в дальнейшем в него можно добавлять разные полезные функции, которые будут доступны из любого места в коде сайта. Не забудьте изменить логин и пароль к Вашей базе.

    Если Вы работаете в среде Windows, я могу порекоммендовать использовать редактор Notepad++. В этом редакторе есть нумерация строк, и он легко переводит текст из одной кодировки в другую. ВНИМАНИЕ! Если Вы работаете в кодировке UTF-8 — конвертируйте файлы в UTF-8 without BOM — это поможет избежать проблем в будущем.

    3. Создаём index.php — главный контроллер сайта

    Файл конфигурации создан. Теперь в корневой папке сайта создаём index.php — это и будет основной скрипт сайта, своего рода «главный контроллер». Содержание файла index.php:

    // ГЛАВНЫЙ КОНТРОЛЛЕР
    switch ($_GET[option]) <
    case «page»:
    include($_SERVER[DOCUMENT_ROOT].»/com/page.php»);
    break;
    default:
    include($_SERVER[DOCUMENT_ROOT].»/com/home.php»);
    break;
    >

    include ($_SERVER[DOCUMENT_ROOT].»/template.php»);
    $db->close();

    Переменная $_GET[option] будет указывать главному контроллеру какой компонент сайта загружать при запросе. Сейчас в нашем сайте предусмотрено только два компонента: «страница» и «главная страница» (в принципе можно обойтись и одним компонентом вывода обычной страницы, но часто вид главной страницы сайта отличается от обычных страниц пунктов меню). Логика работы главного контроллера такова: из URL строки извлекается название нужного компонента (значение переменной $option), в зависимости от его значения подключается файл самого компонента (содержится в папке /com). Файл компонента выполняет все необходимые работы, извлекает из базы данные и записывает их в переменные, для передачи в шаблон дизайна. В самом конце подключается файл дизайна сайта, в который и передаются все переменные и данные, извлечённые в компонентах. Это звучит намного сложнее, чем работает.

    4. Создаём компонент вывода обычной страницы

    В корне сайта создаём папочку «com» — в ней будут храниться файлы компонентов. Компонент сайта, в моём понимании — это файл, в котором происходит обработка данных для разных разделов сайта. Например компонент обычной страницы извлекает из базы данных название, описание и текст материала, и записывает их в переменные $title, $meta_d, $meta_k, $content и др. Эти данные потом передаются в шаблон дизайна (под каждый компонент можно создавать свой шаблон дизайна) и выводятся пользователю в виде HTML-страницы. Например, компонент каталога, который можно создать в будущем, выполнял бы почти то же самое, но с данными про товары — а там своя специфика, другие поля в таблице, итд. По-этому для каждого функционального раздела сайта стоит создавать отдельный компонент. В схеме MVC (Model-View-Controller) компонент выполняет роль модели.

    Создаём в папке «com» файл «page.php». Содержимое файла следущее:

    run($query);
    $db->row();
    // ПЕРЕМЕННЫЕ КОМПОНЕНТА
    $ >data[page_id];
    $alias = $db->data[page_alias];
    $title = $db->data[page_title];
    $h1 = $db->data[page_h1];
    $meta_d = $db->data[page_meta_d];
    $meta_k = $db->data[page_meta_k];
    $s_desc = $db->data[page_s_desc];
    $component = $db->data[page_content];
    // ЕСЛИ СТРАНИЦЫ НЕ СУЩЕСТВУЕТ
    if (!$id) <
    header(«HTTP/1.1 404 Not Found»);
    $component = «ОШИБКА 404! Данной страницы не существует»;
    >
    $db->stop();

    5. Создаём компонент вывода главной страницы

    Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.

    Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:

    $query = «SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1»;

    6. Создаём шаблон дизайна всего сайта

    В корне сайта создаём файл template.php. По сути это обычный макет web-дизайна в формате HTML+CSS, только с PHP переменными в нужных местах. Между тегами title вставочка , в центральной колонке сайта вставочка и так по всему шаблону расставляем нужные переменные, которые объявлены в компонентах.

    В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.

    7. Чистые ссылки и файл .htaccess

    Для создания чистых ссылок я использую mod_rewrite с прямыми указаниями правил для каждого компонента отдельно, так как разбор адресной строки средствами самого контроллера считаю излишним функционалом. Содержимое .htaccess на данном этапе такое:

    RewriteEngine On
    RewriteBase /

    # ЗАПРЕЩЁННЫЕ ФАЙЛЫ
    RewriteRule .htaccess — [F]
    RewriteRule template.php — [F]

    # ПРАВИЛА mod_rewrite
    RewriteRule page/([a-z0-9_-]+)([\/]<0,1>)\.htm$ index.php?option=page&alias=$1 [L]

    В будущем мы будем дописывать правила для компонентов поиска, каталога, блога статей и т.д. Смысл один: преобразовать ссылки вида «mysite.com/index.php?option=pages&alias=about» в ссылку вида «mysite.com/pages/about.htm» — смотрится довольно красиво. Старайтесь в разработке избегать массива $_GET в целях безопасности и не надеяться на него. Целесообразно хранить в нём только параметры для главного контроллера (переменная $option) и для компонента (переменная $alias).

    Также в каждой папке сайта «на всякий случай» создайте пустой файл index.html — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.

    Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

    MnogoBlog

    как создать сайт на wordpress, настроить и оптимизировать wordpress

    Копируем дизайн понравившегося сайта

    Порой натыкаешься на сайт с красивым дизайном и хочется узнать, а можно ли сделать что-нибудь наподобие у себя. Так вот здесь и поговорим об этом.
    Скачать исходники для статьи можно ниже
    новое казино Адмирал с новыми слотами

    1. Узнаем какая тема (шаблон) используется на сайте, так как она в основном и определяет его общий дизайн и функционал.

    И следовательно если мы установим данную тему на свой сайт, то достаточно близко приблизимся к нужному дизайну.

    Мастер Йода рекомендует:  Classmates.Com обвиняют в мошенничестве

    Первое что нужно сделать – это определить на каком движке (CMS) сделан сайт.

    Есть очень полезные онлайн сервисы, помогающие нам определить CMS сайта, например:


    2ip.ru/cms/

    Здесь просто указываем имя сайта и смотрим признаки какой CMS найдет данный сервис.

    Нужный нам сайт базируется на WordPress – отлично! Значит тема подойдет для нашего сайта.

    Идем далее и смотрим – какую тему использует сайт.

    Как это сделать, оказывается достаточно просто.

    Рассмотрим на примере браузера Firefox.

    1. Открываем нужный нам сайт, например mnogoblog.ru.

    2. Открываем “Исходный код страницы”, для этого нажимаем комбинацию клавиш CTRL + U (одновременное зажатие этих двух клавиш: CTRL и U) или же заходим в меню браузера в пункт “Инструменты”, далее подпункт “Веб-разработка” и выбираем в нем строчку “Исходный код страницы”.

    3. Ищем строчку с ссылкой на файл стилей style.css.

    Вот так она выглядит на моем сайте:

    Как ее легче отыскать?

    В появившемся окошке “Исходный код страницы” выбираем в верхнем меню пункт “Правка” и подпункт “Найти”.

    И вводим в строку поиска “css” (без ковычек) или сразу “style.css” (без ковычек).

    Что дает нам данная строчка?

    Она дает нам название темы, то есть на моем сайте используется wordpress тема “glossyblue”, так как ее файл стилей использует на данный момент сайт mnogoblog.ru.

    Теперь нам осталось вбить в поисковик запрос: “wordpress тема glossyblue” – и вы без проблем отыщете мою тему (правда я ее немного доработал).

    Но данный способ определения темы может и не сработать, например владелец сайта может переименовать папку с темой.

    Для решения этой задачки есть небольшая хитрость – в основном темы включают в себя скриншот (картинку как будет выглядеть тема после установки) – вот его то и нужно найти.

    То есть, например на своем сайте я возьму и переименую папку темы с glossyblue на mytheme, тогда при отыскании файла стилей style.css вы увидите в исходном коде сайта следующую строчку:

    Понятно, что реальное название моей темы не mytheme, но как тогда узнать ее название?

    Для этого достаточно в браузер вбить путь, заменив окончание style.css на screenshot.jpg или на screenshot.png.

    Например если я вобью на своем сайте в браузер следующий url, то увижу скриншот темы glossyblue:

    Теперь нам нужно сохранить данный скриншот на свои компьютер.

    Далее нужно воспользоваться поиском через картинки, например с помощью поисковика Google:

    нажимаем в строке поиска на иконку фотоаппарата и указываем путь до скаченного нами скриншота темы.

    И в выдаче результатов Google на 5 позиции у меня оказался сайт разработчика моей темы.

    2. Тему скопировали, теперь ищем как создать интересные дизайнерские элементы понравившегося нам сайта.

    Для этого можно воспользоваться расширением для браузеров.

    Например для браузера Firefox – это Firebug.

    Как его установить?

    Для того, чтобы его поставить себе на Firefox нужно зайти в менюшке браузера в пункт “Инструменты”, далее выбрать подпункт “Дополнения” и в строке поиска ввести Firebug.

    Как им пользоваться?

    Я пользуюсь в основном следующей функцией (отмечена на скриншоте):

    Как пользоваться данной функцией?

    После того как вы нажали на эту кнопку плагина Firebug, ведите мышью над нужными участками вебстраницы, и в левой части окна плагина Firebug сможете наблюдать участки Html кода, отвечающие за формирование данных элементов дизайна (они будут выделены синим фоном), а в правой части окна вы сможете увидеть стили, которые описывают данный элемент в файле стилей style.css.

    При этом элемент страницы, над которым находится курсор мыши, будет заключен силами плагина Firebug в синюю рамочку.

    Импортирование информации с чужого сайта на свой сайт в свой дизайн PHP

    Импортирование информации с чужого сайта на свой сайт в свой дизайн. (На примере импортирования прогнозов погоды с Yahoo.)

    Пример предназначен для тех, кто начинает работать с php, и не только для них.

    Результатом работы программы(скрипта) является прогноз погоды на 5 дней для любого, интересующего Вас города, выводимый в виде, который нравится именно Вам, а не дизайнерам сайта-донора.

    Информация в таких случаях берется с известных серверов прогноза погоды (где не пишут фразу «запрещено использование информации» и т.п.). В данном случае используется сервер https://weather.yahoo.com , на котором есть страницы с погодой для довольно большого количества городов, и практически всегда можно найти если не интересующий Вас город, то ближайший ему и идентичный по погодным условиям.

    Это законченный проект, работающий на сайте https://sim-sim.ru в разделе туризма «погода в мире».

    Единственным недостатком является лишь то, что админу приходится вводить в текстовый файл (возможен вариант с mysql, но в том случае мне было проще сделать в файле) название населенного пункта на родном языке и ссылку на страницу с прогнозом погоды на него на сервере Яхо. Но никто за Вас этого делать не будет.

    Посему, скрипт состоит из 2-х частей:

    1. Файл с администрированием (вводится в первую строку название города, на следующей строке — ссылка). Разбирать работу данной части, думаю, не стоит, комментариев более чем достаточно.

    2. Файл с самой программой. Работа программы будет подробно описана ниже.

    1. Администрирование

    Выводим на экран форму с паролем pass. В окне вводятся: номера названия ссылки Затем, после нажатия на кнопку и проверки пароля, записываем новый список в файл.

    После ввода информации в файл в виде, получаем:

    «44» — номер города.
    «Ларнака» — название города.
    «https://weather.yahoo.com/forecast/Larnaca_CY_f.html» — ссылка на погоду в городе Ларнака на Яхе.

    Ссылки на города организовываются по принципу:

    Но если город из друх слов, то в пробелах пишем «%20″
    В таком случае, номера городов в списке не нужны:

    Если у нас не текстовый файл, а mysql, то все проще.
    Если кому понадобится вариант с mysql, пишите мне totoeval@mtu-net.ru

    2. Программа (собственно, адаптер чужого кода к Вашему сайту)

    Этот блок в будущем придется изменять, когда на оригинале (weather.yahoo.com) изменится код страниц.

    Функция time() даст нам текущее время. Функцией date(d.» «.M,$t[$i]) получаем дату текущего и последующих 4 дней, а date(D,$t[$i]) дает нам дни недели всех 5 дней. А затем переводим даты с английского языка на родной.

    Теперь программа работает, и ее можно вставлять в свой дизайн. Вот вариант:вышеупомянутая Ларнака

    Создание PHP+MySQL сайта: от простого к сложному — шаг первый

    Для создания перспективного, расширяемого и эффективного сайта любой сложности следует начинать с простого. Это процесс нелёгкий, требует определённых базовых знаний PHP и MySQL, но если его рассмотреть по пунктам — то можно составить своего рода «рабочий план», который пригодится при создании новых сайтов. Подготовим «ядро» и базу для проекта. Вначале это будет обычный сайт визитка, но потом, добавляя функционал, его можна превратить во что угодно. Итак, приступим.

    1. Подготовка базы данных. Создаём первую таблицу в БД MySQL

    Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
    В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:

    • page_id — идентификатор страницы (SMALLINT, primary key, auto_increment);
    • page_alias — псевдоним страницы для строки адреса ЧПУ (VARCHAR, 255);
    • page_title — название страницы в окне браузера (VARCHAR, 255);
    • page_meta_d — мета описание страницы для тега meta description (VARCHAR, 255);
    • page_meta_k — мета ключевые слова для тега meta keywords (VARCHAR, 255);
    • page_h1 — заголовок страницы (VARCHAR, 255);
    • page_s_desc — краткое описание материала, например если материалы сайта будут в виде блога (TEXT);
    • page_content — основной текст страницы, который будет выводиться в центральную колонку сайта (TEXT);
    • page_publish — содержит «Y» — если страница опубликована, или «N» — если она скрыта (CHAR, по умолчанию «Y»).

    Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.


    2. Создаём файл конфигурации сайта

    В корневой папке сайта, которая должна быть пуста на данном этапе, создаём папочку «cfg», в ней с помощью .htaccess закрываем доступ директивой «deny from all». Создаём файл core.php следующего содержания:

    link = mysql_connect($this->dbhost, $this->dblogin, $this->dbpass);
    mysql_select_db($this->db);
    mysql_query(‘SET NAMES utf8’);
    >

    function close() <
    mysql_close($this->link);
    >

    function run($query) <
    $this->query = $query;
    $this->result = mysql_query($this->query, $this->link);
    $this->err = mysql_error();
    >
    function row() <
    $this->data = mysql_fetch_assoc($this->result);
    >
    function fetch() <
    while ($this->data = mysql_fetch_assoc($this->result)) <
    $this->fetch = $this->data;
    return $this->fetch;
    >
    >
    function stop() <
    unset($this->data);
    unset($this->result);
    unset($this->fetch);
    unset($this->err);
    unset($this->query);
    >
    >

    Этот файл пока содержит только простой класс подключения к базе данных, но в дальнейшем в него можно добавлять разные полезные функции, которые будут доступны из любого места в коде сайта. Не забудьте изменить логин и пароль к Вашей базе.

    Если Вы работаете в среде Windows, я могу порекоммендовать использовать редактор Notepad++. В этом редакторе есть нумерация строк, и он легко переводит текст из одной кодировки в другую. ВНИМАНИЕ! Если Вы работаете в кодировке UTF-8 — конвертируйте файлы в UTF-8 without BOM — это поможет избежать проблем в будущем.

    3. Создаём index.php — главный контроллер сайта

    Файл конфигурации создан. Теперь в корневой папке сайта создаём index.php — это и будет основной скрипт сайта, своего рода «главный контроллер». Содержание файла index.php:

    // ГЛАВНЫЙ КОНТРОЛЛЕР
    switch ($_GET[option]) <
    case «page»:
    include($_SERVER[DOCUMENT_ROOT].»/com/page.php»);
    break;
    default:
    include($_SERVER[DOCUMENT_ROOT].»/com/home.php»);
    break;
    >

    include ($_SERVER[DOCUMENT_ROOT].»/template.php»);
    $db->close();

    Переменная $_GET[option] будет указывать главному контроллеру какой компонент сайта загружать при запросе. Сейчас в нашем сайте предусмотрено только два компонента: «страница» и «главная страница» (в принципе можно обойтись и одним компонентом вывода обычной страницы, но часто вид главной страницы сайта отличается от обычных страниц пунктов меню). Логика работы главного контроллера такова: из URL строки извлекается название нужного компонента (значение переменной $option), в зависимости от его значения подключается файл самого компонента (содержится в папке /com). Файл компонента выполняет все необходимые работы, извлекает из базы данные и записывает их в переменные, для передачи в шаблон дизайна. В самом конце подключается файл дизайна сайта, в который и передаются все переменные и данные, извлечённые в компонентах. Это звучит намного сложнее, чем работает.

    Мастер Йода рекомендует:  Изучаем Angular видео, подкасты и полезные ссылки

    4. Создаём компонент вывода обычной страницы

    В корне сайта создаём папочку «com» — в ней будут храниться файлы компонентов. Компонент сайта, в моём понимании — это файл, в котором происходит обработка данных для разных разделов сайта. Например компонент обычной страницы извлекает из базы данных название, описание и текст материала, и записывает их в переменные $title, $meta_d, $meta_k, $content и др. Эти данные потом передаются в шаблон дизайна (под каждый компонент можно создавать свой шаблон дизайна) и выводятся пользователю в виде HTML-страницы. Например, компонент каталога, который можно создать в будущем, выполнял бы почти то же самое, но с данными про товары — а там своя специфика, другие поля в таблице, итд. По-этому для каждого функционального раздела сайта стоит создавать отдельный компонент. В схеме MVC (Model-View-Controller) компонент выполняет роль модели.

    Создаём в папке «com» файл «page.php». Содержимое файла следущее:

    run($query);
    $db->row();
    // ПЕРЕМЕННЫЕ КОМПОНЕНТА
    $ >data[page_id];
    $alias = $db->data[page_alias];
    $title = $db->data[page_title];
    $h1 = $db->data[page_h1];
    $meta_d = $db->data[page_meta_d];
    $meta_k = $db->data[page_meta_k];
    $s_desc = $db->data[page_s_desc];
    $component = $db->data[page_content];
    // ЕСЛИ СТРАНИЦЫ НЕ СУЩЕСТВУЕТ
    if (!$id) <
    header(«HTTP/1.1 404 Not Found»);
    $component = «ОШИБКА 404! Данной страницы не существует»;
    >
    $db->stop();

    5. Создаём компонент вывода главной страницы

    Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.

    Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:

    $query = «SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1»;

    6. Создаём шаблон дизайна всего сайта

    В корне сайта создаём файл template.php. По сути это обычный макет web-дизайна в формате HTML+CSS, только с PHP переменными в нужных местах. Между тегами title вставочка , в центральной колонке сайта вставочка и так по всему шаблону расставляем нужные переменные, которые объявлены в компонентах.

    В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.

    7. Чистые ссылки и файл .htaccess

    Для создания чистых ссылок я использую mod_rewrite с прямыми указаниями правил для каждого компонента отдельно, так как разбор адресной строки средствами самого контроллера считаю излишним функционалом. Содержимое .htaccess на данном этапе такое:

    RewriteEngine On
    RewriteBase /

    # ЗАПРЕЩЁННЫЕ ФАЙЛЫ
    RewriteRule .htaccess — [F]
    RewriteRule template.php — [F]

    # ПРАВИЛА mod_rewrite
    RewriteRule page/([a-z0-9_-]+)([\/]<0,1>)\.htm$ index.php?option=page&alias=$1 [L]

    В будущем мы будем дописывать правила для компонентов поиска, каталога, блога статей и т.д. Смысл один: преобразовать ссылки вида «mysite.com/index.php?option=pages&alias=about» в ссылку вида «mysite.com/pages/about.htm» — смотрится довольно красиво. Старайтесь в разработке избегать массива $_GET в целях безопасности и не надеяться на него. Целесообразно хранить в нём только параметры для главного контроллера (переменная $option) и для компонента (переменная $alias).

    Также в каждой папке сайта «на всякий случай» создайте пустой файл index.html — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.

    Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

    Импортирование информации с чужого сайта на свой сайт в свой дизайн PHP

    Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

    Импортирование информации с чужого сайта на свой сайт в свой дизайн
    Импортирование информации с чужого сайта на свой сайт в свой дизайн. (На примере импортирования прогнозов погоды с Yahoo.)

    Пример предназначен для тех, кто начинает работать с php, и не только для них.

    Результатом работы программы(скрипта) является прогноз погоды на 5 дней для любого, интересующего Вас города, выводимый в виде, который нравится именно Вам, а не дизайнерам сайта-донора.

    Информация в таких случаях берется с известных серверов прогноза погоды (где не пишут фразу «запрещено использование информации» и т.п.). В данном случае используется сервер https://weather.yahoo.com/ , на котором есть страницы с погодой для довольно большого количества городов, и практически всегда можно найти если не интересующий Вас город, то ближайший ему и идентичный по погодным условиям.

    Это законченный проект, работающий на сайте https://sim-sim.ru в разделе туризма «погода в мире».

    Единственным недостатком является лишь то, что админу приходится вводить в текстовый файл (возможен вариант с mysql, но в том случае мне было проще сделать в файле) название населенного пункта на родном языке и ссылку на страницу с прогнозом погоды на него на сервере Яхо. Но никто за Вас этого делать не будет.

    Посему, скрипт состоит из 2-х частей:
    1. Файл с администрированием (вводится в первую строку название города, на следующей строке — ссылка). Разбирать работу данной части, думаю, не стоит, комментариев более чем достаточно.
    2. Файл с самой программой. Работа программы будет подробно описана ниже.
    1. Администрирование.

    Выводим на экран форму с паролем pass.

    В окне вводятся:
    номера
    названия
    ссылки

    Затем, после нажатия на кнопку и проверки пароля, записываем новый список в файл.

    admin weather

    Как скопировать информацию с чужого сайта на свой

    Здравствуйте есть сайт интернет магазин на CMS 1С-Битрикс и надо скопировать страницы ну или хотя бы цену с каждодневным обновлением. Пытался скопировать сайт через оффлайн браузер но за день скачал 40000 файлов (или расскажите как скопировать сайт на cms без взлома базы). Как вы уже наверное поняли я в этом не шарю так что прошу объяснить попроще заранее спасибо. Сайт link text

    2 ответа 2

    у битрикса есть удобная выгрузка в xml или csv. Воспользуйтесь ею. Она интуитивно понятна, но и описана в документации.

    Если же у вас нет доступа в админку, то беда. Писать парсер. А это для нешарящего практически невозможно.

    Статьи

    Импортирование информации с помощью PHP

    Если вы уже некоторое время занимаетесь WEB-программированием, то наверняка перед Вами хотя бы раз вставала задача заимствования информации с других WEB-узлов, например, для сбора статистики вашего сайта с сервера статистики с последующей её отправкой электронной почтой или импорт курса валют с обработкой специально под ваш дизайн. PHP представляет нам много возможностей для импортирования информации. Зачастую хватает самых простых, вроде приведенных ниже, строк.

    Однако, бывают случаи когда простого заимствования оказывается мало. Допустим, нам нужно взять информацию с сайта требующего авторизации. В этом случае, нам сначала требуется узнать какие поля и на какой адрес передаются формой авторизации. Это несложно. Заходим на страницу авторизации и в браузере нажимаем «Просмотр в виде HTML» или «Просмотреть исходный текст». Перед нами HTML-код страницы. В ней находим форму авторизации. В теге

    Здесь мы видим, что форма передаёт три параметра ( login , password с введёнными логином и паролем к аккаунту, а также поле submit , значением которого является слово «Войти») на адрес https://some.site.ru/auth.php методом POST. Этих знаний уже вполне хватает для написания скрипта импорта.

    //Сначала требуется упаковать все передаваемые данные
    $data = array( «login» => «vasya» , «password» => «PaSsWoRd» , «submit» => «Войти» );
    while( list( $name , $value ) = each ( $data ) ) <
    $temp [] = urlencode ( $name ). «=» . urlencode ( $value );
    >
    $PostData = implode ( «&» , $temp );

    //Организация запроса к сайту
    $ch = curl_init ( «https://some.site.ru/auth.php» );
    curl_setopt ( $ch , CURLOPT_HEADER , 0 ); // Не выводить заголовки
    curl_setopt ( $ch , CURLOPT_NOBODY , 0 ); // Выводить получаемый Content
    curl_setopt ( $ch , CURLOPT_USERAGENT , «User-Agent: Opera/7.54 (Windows 98; U) [ru]» ); //Браузер
    curl_setopt ( $ch , CURLOPT_REFERER , «https://some.site.ru» ); //Адрес формы авторизации
    // Если используется метод GET, следующие две строки не нужны, а данные
    // передаются в функции curl_init() вместе с адресом страницы, например:
    // $ch = curl_init(«https://some.site.ru/auth.php?login=vasya&password=PaSsWoRd&submit=%C2%EE%E9%F2%E8»);
    curl_setopt ( $ch , CURLOPT_POST , 1 ); //Использовать метод POST
    curl_setopt ( $ch , CURLOPT_POSTFIELDS , $PostData ); //Отправить данные
    curl_exec ( $ch );
    curl_close ( $ch );
    ?>

    Сразу следует обратить внимание, в данном примере мы использовали библиотеку CURL, которая делает передачу данных достаточно простой. Тем не менее, наличие установленной библиотеки зависит от хостера. Именно поэтому рассмотрим скрипт выполняющий аналогичные функции.

    = array( «login» => «vasya» , «password» => «PaSsWoRd» , «submit» => «Войти» );
    while( list( $name , $value ) = each ( $data ) ) <
    $temp [] = urlencode ( $name ). «=» . urlencode ( $value );
    >
    $PostData = implode ( «&» , $temp );

    $fp = fsockopen ( «some.site.ru» , 80 , $errno , $errstr , 30 );
    if( $fp ) <
    fputs ( $fp , «POST /auth.php HTTP/1.0\r\n» );
    fputs ( $fp , «Referer: https://some.site.ru\r\n» );
    // Если используется метод GET, следующие две строки не нужны, также не нужна строка
    // «fputs($fp,$PostData);», а данные передаются вместе с адресом страницы, например:
    // fputs($fp,»GET /auth.php?login=vasya&password=PaSsWoRd&submit=%C2%EE%E9%F2%E8 HTTP/1.0\r\n»);
    fputs ( $fp , «Content-Type: application/x-www-form-urlencoded\r\n» );
    fputs ( $fp , «Content-Length: » . strlen ( $PostData ). «\r\n» );
    fputs ( $fp , «Host: some.site.ru\r\n» );
    fputs ( $fp , «User-Agent: Opera/7.54 (Windows 98; U) [ru]\r\n\r\n» );
    fputs ( $fp , $PostData );
    while( ! feof ( $fp ) ) <
    echo fgets ( $fp , 1024 );
    >
    fclose ( $fp );
    >
    ?>

    Во всех выше приведенных примерах мы выводим результат импорта сразу в браузер, однако, на практике этот результат требуется записать в переменную для последующей обработки. И если в первом скрипте достаточно заменить «echo » на «$varname=», то к остальным примерам такое решение едва ли подойдёт, даже если оно и кажется вам очевидным. Дело в том, конструкция вроде

    являет собой ничто иное, как многократную дозапись в переменную, а это в свою очередь замедляет работу скрипта. Тем более, что в случае с CURL такая возможность не доступна вообще. Решением является использование функций управления выводом: в начале скрипта вы пишите

    А если сайт-экспортёр использует HTTP-аутентификацию? Вы строите обычный GET-запрос к нужной странице добавив один заголовок:

    Соответственно для CURL

    Если требуется использовать при обращении прокси-сервер, для скрипта использующего CURL вам следует добавить следующую строку:

    где соответственно «0.0.0.0» — это IP-адрес прокси-сервера, а «80» — порт. Для варианта с сокетом вы в функции fsockopen() указываете параметры подключения к прокси-серверу (адрес и порт), а всё остальное оставляете без изменений. Наконец, получив страницу в переменную, вам наверняка потребуется её обработать. Для этого можно порекомендовать почитать раздел мануала «Функции регулярных выражений (Perl-совместимые)», этот инструмент отлично подходит для решения подобных задач.

    Добавить комментарий