—»     —»   Создание RSS-рассылки с пользовательским названием при помощи PHP
  Раздел: RSS/Feeds   Нет комментариев  

Создание RSS-рассылки с пользовательским названием при помощи PHP



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

Создание RSS-рассылки с пользовательским названием при помощи PHP

RSS расшифровывается как Really Simple Syndication, что в переводе означает очень простой сбор сводной информации в одном месте, где люди могут осуществить подписку посредством браузера, и получать новости. Но слова «очень простой» с точки зрения программирования не соответствуют действительно, как вы уже наверное догадались. Создание RSS-рассылки – что может быть проще, верно? После того, как мы поломали мозги над разработкой канала привязки нашего существующего PHP-веб-сайта и нескольких генераторов рассылок (вроде Mag Pie или Simply Smarty) было несколько моментов, когда хотелось все бросить, и даже выбросить iMac в окно!

К счастью, нам удалось сохранить терпение и обратиться за помощью к старым добрым руководствам по PHP-программированию, чтобы узнать, как создать RSS-рассылку без парсеров. Настройка такого типа рассылок создает имя пользователя на основе RSS-канала в PHP, который возвращает валидные значения. Для каждой страницы, сгенерированной пользователем, вы можете разместить ссылку на конкретную группу статей на сайте. Система автоматически создает необходимые файлы при каждой регистрации. Это означает, что вам придется меньше работать, у вас будет больше гибкости в настройках и, конечно же, не придется вводить все вручную. И если все пойдет хорошо, то вы будете наблюдать приток трафика.

Разработка целой собственной RSS-рассылки может занять у вас пару минут. Здесь вы сможете позволить пользователям подключаться к Feedburner, Pheedo или любому другому сервису. В целом, вам понадобятся три вещи:

* Функция создания файла при регистрации пользователя
* Гибридный файл PHP-XML { template }
* Скрипт вывода/ссылка рассылки

1. Функция создания файла при регистрации пользователя

На странице подтверждения регистрации необходимо вызвать функцию создания файла (make file). Это сообщит серверу о том, что нужно создать файл под названием Username.rss.php. Очень важно, чтобы вы создали данный файл, иначе RSS Output не будет создан. Функция получает POST Username и сообщает серверу о том, что нужно СОЗДАТЬ ФАЙЛ под названием Username.rss.php.

$USERNAME=$_POST['USERNAME'];
$FILE=$USERNAME.'.rss.php';
if(!$handle=fopen($FILE, 'a')) {
echo "Crickets, cannot open file ($FILE)";
exit
}
$ginger=file_get_contents("rss.php");

2. Гибридный файл PHP-XML { template }

Сейчас будет немного сложнее: вам нужно будет получить (GET) основной RSS-PHP гибридный шаблон. Почему? Это экономит много времени и позволяет избежать головной боли. Функция получается информацию о шаблоне и передает ее в новый файл под названием Username.rss.php. Она будет включать RSS-элементы для каждого пользователя, присоединившегося к системе. Впишите заголовок новому RSS-файлу и переместите его в соответствующую директорию. { Вы можете выбрать любую папку по желанию, но так, чтобы вы могли запомнить, как вы ее назвали, и где она находится }. Вышеприведенный код теперь будет автоматически создавать RSS-PHP-файл в данной директории. Для того чтобы этот файл создавался, вам нужен будет основной код или гибридный шаблон и, конечно же, подключение к базе данных.

3. Скрипт вывода/ссылка рассылки

Одно из уникальных свойств RSS заключается в том, что технология использует XML. В целом, вы можете редактировать пункты вроде заголовка, основного URL, основной фотографии, а также дочерние элементы. Некоторые браузеры позволяют использовать фотографии для каждого списка рассылки, некоторые нет. Feedburner и Pheedo позволяют, за счет создания XHTML (XML+HTM) страницы для рассылки. Это очень удобно для размещения объявлений.

Проблема в RSS/XML и PHP заключается лишь в языке. Взаимодействие между ними схоже с тем случаем, если вы попытаетесь заговорить по-русски с дельфином. Тем не менее, есть возможность объединить языки и тогда все будут счастливы. Этот процесс называется парсинг. Один язык пересекается с другим и информация переводится. На самом деле, парсер можно называть переводчиком. Для того чтобы это все заработало, мы сообщаем серверу, что данный PHP-файл должен быть прочитан как XML файл. Это можно найти в Content Type. Большинство веб-страниц в заголовке сообщают вам о том, для какого типа контента они созданы, или какой тип контента может быть использован на странице. Если вы используете XHTML Transitional или даже Strict, то сможете отображать довольно много кода. С PHP/XML вам потребуется специально указывать тип контента (Content Type). В этом случае тип контента будет XML/RSS. Давайте сначала создадим файл основного RSS-шаблона, а потом оформим его.

header(Content-Type: application/rss+xml;
charset=ISO-8859-1);
require_once('mydataconnect.php');

$USERNAME= basename($_SERVER['SCRIPT_FILENAME']);
$USERNAME= str_replace('_',' ',$USERNAME);
$USERNAME= str_replace('.rss.php','',$USERNAME);
$USERNAME= strtolower($USERNAME);
$USERNAME= ucfirst($USERNAME);

$feed = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$feed .= '<rss version="2.0">';
$feed .= '<channel>';
$feed .= '<title>Your RSS</title>';
$feed .= '<link>http://www.yourwebsite.com</link>';
$feed .= '<description>Describe Website</description>';
$feed .= '<language>en-us</language>';
$feed .= '<copyright>yourwebsite.com</copyright>';

$query="SELECT * FROM RSS WHERE USERNAME='$USERNAME'
ORDER BY PUBLISHED DESC LIMIT 15";
$result = mysql_query($query) or die();

while($row = mysql_fetch_array($result))
{ extract($row);
$LINK ="http://yourwebsite.com/$Username/$TITLE.php";
$PHOTO ="http://yourwebsite.com/$Username/$PHOTO1";
$DESCRIPT = $row['DESCRIPTION'];

$feed .= '<item>';
$feed .='<image>';
$feed .='<url>$PHOTO</url>';
$feed .='<title>YOUR RSS</title>';
$feed .='<link>$USERNAME.rss.php</link>';
$feed .='<width>50px</width>';
$feed .='<height>50px</height>';
$feed .='</image>';
$feed .= '<title>$TITLE</title>';
$feed .= '<description>$DESCRIPT</description>';
$feed .= '<link>$LINK</link>';
$feed .= '</item>';
}
$feed .= '</channel>';
echo $feed;

Заголовок типа контента должен быть отправлен перед тем, как какие-либо данные будут переведены сервером для PHP-XML. Отредактируйте заголовок этого файла, уберите расширения и оставьте просто Username. То есть, если файл был назван mrjones.rss.php, то сейчас в его названии должно остаться mrjones. Почему? Просто потому, что это позволит одним запросом связать все эти файлы. Вы можете оформить это несколькими путями, для отдельных категорий в вашей базе данных вроде «Товары для дома» или «Безделушки» до тех пор, пока ОСНОВНОЙ ФАЙЛ будет иметь соответствующее название.

Теперь, только лишь посредством имени пользователя, мы скрепляем PHP с XML-языком для вывода результата. Проще говоря, выводим PHP. Здесь красота заключается в том, что когда мы выводим его, виден будет только XML.

* Создайте ссылку на статью
* Получите путь до изображения, которое нужно отображать.
* Создайте RSS-результат (элементы .feed).

Обратите внимание на то, что основная ссылка ведет на Username RSS, а не на основной веб-сайт или шаблон. Опять же, это Основной Шаблон. Сохраните ЭТОТ файл под именем rss.php. Он будет использован тогда, когда пользователь будет регистрироваться, для того, чтобы автоматически создавать оформленный Username.rss.php для каждого элемента. Он автоматически копирует новый файл в папку пользователя. Последний отрывок кода идет на сгенерированные пользователем страницы, поэтому у посетителей будет возможность кликать и подписываться.

$result= mysql_query
("SELECT * FROM `ARTICLES` WHERE TITLE='$TITLE'")
or die(mysql_error());
while($row=mysql_fetch_array($result))
{ $USERNAME = $row['USERNAME']; }
echo '<a href="http://...../rss/$USERNAME.rss.php">
Subscribe to $USERNAME 's Articles.</a>";

Ура!

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

$(function() {$('.ufeed').load('Username.rss.php'); });
Обнаружили ошибку или мёртвую ссылку?
Выделите проблемный фрагмент мышкой и нажмите CTRL+ENTER.
В появившемся окне опишите проблему и отправьте уведомление Администрации ресурса.
Нужна органическая вечная ссылка из данной статьи? Постовой?
Подробности здесь
Вам понравился материал? Поблагодарить легко!
Будем весьма признательны, если поделитесь этой статьей в социальных сетях:

Ключевые тэги: PHP
Опубликовал Design FactoRy   Прочитано (раз): 7268   |   Нет комментариев
Источник материала / оригинал статьи   Распечатать
Другие статьи и новости по теме:
Добавление комментария
Уважаемые пользователи!
При добавлении комментариев на сайт Вам следует учитывать следующее - все комментарии проверяются Администрацией на предмет отсутствия спама. При обнаружении признаков спама, в оставленном Вами комментарии, сам комментарий будет незамедлительно удалён, а Ваш IP-адрес будет забанен без предупреждения! Учётные записи пользователей, рассылающих спам, блокируются/удаляются без права последующего восстановления.

С уважением, Администрация сайта.
* = поля обязательны к заполнению
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос : Назовите месяц December по-русски
Подтверждение кода безопасности :

Включите эту картинку для отображения кода безопасности
обновить, если не виден код


Курсы веб дизайна киев
курсы веб дизайна киев
prog.kiev.ua
купить розы
в Оренбурге, заказать с доставкой в дом или офис
rose25.ru
Популярные публикации


















Свежие шаблоны сайтов каждый день
С миру по нитке
«    Март 2017    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031