Безвозвратный catalog php. Каталог продукции (MySQL). Вывод списка книг для заданной категории

19.06.2020

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

Начнём с самого простого: создание каталога в PHP :

mkdir("new_dir");
?>

После запуска этого скрипта у Вас будет создан пустой каталог "new_dir ".

Удалить пустой каталог очень просто. Для этого используется функция rmdir() .

rmdir("new_dir");
?>

А вот теперь перейдём к работе с содержимым каталогов через PHP . Здесь есть очень простые правила, которые необходимо соблюдать. Все эти правила очень логичны, и Вы их применяете, когда вручную просматриваете содержимое каталогов:

  1. Открыть каталог.
  2. Считать содержимое.
  3. Закрыть каталог.

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

$dir = opendir("images");
while (($f = readdir($dir)) !== false)
echo $f."
";
closedir($dir);
?>

В результате Вы увидите список всех файлов и каталогов внутри каталога "images ". Также Вы увидите два интересных имени ". " и ".. ". Первый означает "текущий каталог ", а ".. " - родительский.

Теперь подробно о функциях, используемых в этом примере:

  • Функция opendir(string $path) - открывает каталог, находящийся по пути $path , а также возвращает дескриптор, необходимый для работы с этим каталогом.
  • Функция readdir(resource $dir) - считывает текущий элемент в каталоге dir . Текущий элемент задаётся указателем, который сдвигается при каждом вызове. Поэтому получается, что каждый раз эта функция возвращает новый элемент из каталога. Когда все элементы закончились, то функция readdir() возвращает false .
  • Функция closedir(resource $dir) - закрывает каталог dir .

Это все самые важные функции для работы с каталогами в PHP . Однако, хочется добавить ещё одну очень важную деталь по поводу функции rmdir() , которая удаляет каталог. Если Вы внимательно читали, то я написал, что эта функция удаляет "пустой каталог ", то есть в котором нет ни одного файла и каталога (кроме ". " и ".. "). Другими словами, если в каталоге будет хотя бы один файл, то функция rmdir() не сработает . Вот как решить эту проблему Вы узнаете в следующей статье, поэтому подписывайтесь на обновления, чтобы не пропустить её появление.

Закончили? А, мы с вами написали крутую прогу для подбора web-цветов. Замечательно. На этом вводный курс в PHP можно считать закрытым.

Теперь приступим непосредственно к программированию.

Мне думается, что описывать общие принципы — это не совсем то, чего вы от меня ждете. Я предлагаю несколько иное. Давайте просто возьмем, да и напишем вместе цельный web-проект! По всем правилам. Да так, чтобы был он полезен многим, да чтобы на него ложился любой дизайн, да чтобы все у нас было как у взрослых: замысел, план, блок-схема и все остальное. С использованием PHP, MySQL и особенностей Apache. Договорились? Ну вот и ладненько.

Я сегодня посоветовался с Александром Малюковым и решил принять его идею. Пишем систему персонального паблишинга. Или "колонку обозревателя", как назвал ее Саша.

Задача.
Написать комплект скриптов на языке PHP(4), предоставляющие следующие возможности пользователю:
- Возможность публиковать тексты через стандартную web-форму.
- Возможность изменять и удалять опубликованные тексты.
- Возможность создавать и редактировать темы, объединяющие тексты.
- Автоматическое создание оглавления.
- Автоматический вывод выбранного текста в рамках заложенного дизайна.
- Подсчет элементарной статистики посещения сайта.
...и так далее.

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

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

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

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

/home/roma/

Мне почему-то показалось, что вас непременно зовут Романом.

А директория (или "папка", — как сейчас принято говорить), в которой должны лежать html-файлы сайта, называется:

/home/roma/WWW/

А что, так оно чаше всего и бывает. Еще эту папку называют html или public_html .

Теперь, нам нужна папка, где мы будем хранить все наши скрипты. Это должна быть папка НЕ в директории WWW, иначе все желающие смогу посмотреть ваши скрипты и найти в них лазейки для кряка. Нам это надо? Нет, нам это не надо. Поэтому, для необходимых нам файлов-скриптов мы создаем:

/home/roma/req/

req — это от слова require (нуждаться).

Еще нам понадобится папка, в которую мы сложим куски html для динамической сборки страниц. Назовем ее inc (от include).

/home/roma/inc/

Еще папка для хранения данных:

/home/roma/data/

И папка для хранения периодически выполняемых программ службой cron:

/home/roma/cron/

Давайте до кучи создадим в папке WWW папку pic (от picture) для хранения всякой графики.

Все. Наш каталог /home/roma/ выглядит вот так:

./req
./data
./inc
./WWW
./WWW/pic

Следующим этапом я предлагаю создать базу данных для хранения данных, простите за тавтологию.


    Если вы не знакомы с языком SQL, то это вас не должно пугать. Во-первых, я постараюсь прокомментировать то, что будет написано на этом языке. А во-вторых, если вы потратите час на прочтение любого общего руководства по языку запросов к БД SQL, то сможете без каких-либо проблем читать запросы на этом языке и писать свои. Там и надо-то знать с десяток ключевых слов и несколько стандартных конструкций запросов. Все остальное — ваша фантазия (я преклоняюсь перед изобретателями этого языка. Ничего более совершенного, созданного человеком в области программирования, я в жизни не встречал). Найти документацию по стандартным SQL-возможностям можно на том же www.citforum.ru .

Базу назовем так же, как и account у провайдера — ROMA. Во-первых, чтобы не путаться, а во-вторых, обычно так провайдер и выдает доступ к SQL-серверу.

Если база еще не создана, то мы ее создаем:

create database roma;

и переходим в нее:

use roma;

Нам потребуются три таблицы: таблица разделов, таблица текстов и таблица статистики. Создадим пока две. Третья подождет.


    Информацию по работе с MySQL-сервером вы найдетет на сайте производителя: www.mysql.com . Или поищите FAQ-и при помощи поисковых серверов. Их полным-полно.

Таблица tbl_cats (категории, разделы):

create table tbl_cats(
c_id int not null auto_increment primary key,
c_name varchar(50) not null default ""
);

Поясняю. Тут написано, что таблица tbl_cats имеет два поля: c_id — уникальный целочисленный идентификатор записи и c_name — буквенное название раздела, собственно.

Можем сразу добавить в нашу таблицу первый раздел:

insert into tbl_cats(c_name) values("web-обзоры");

Теперь вторая таблица:

create table tbl_texts(
t_id int not null auto_increment primary key,
t_name varchar(200) not null default "",
t_dt datetime not null
);

В которой написано почти тоже самое: идентификатор, название текста и дата+время публикации работы (t_dt).

Мы постарались отобрать лучшие каталоги сайтов, в которые стоит добавить ресурс. Большая их часть – бесплатные белые каталоги, которые не требуют размещения обратных ссылок и ставят прямую ссылку на ваш проект. Регистрация в каталогах позволит разнообразить ссылочную массу на проект и в ряде случаев – повысить тИЦ.

Самые известные каталоги сайтов

Бесплатно берут некоммерческие сайты, представляющие большой интерес для пользователей. Если по вашей теме в ЯК мало проектов – шансы на бесплатную регистрацию увеличиваются. Для остальных проектов – регистрация платная и на момент подготовки статьи стоимость добавления сайта составляет 14750 руб. с НДС. Но готовность оплатить регистрацию совсем не гарантирует добавления в Яндекс.Каталог – модерация жесткая.

Регистрация в Яндекс.Каталоге повышает тИЦ, может дать на сайт переходы (при условии, что ваш сайт имеет большой тИЦ) и другой профит.

Крупнейший каталог сайтов Интернета, полностью бесплатный, поддерживается волонтерами. Попадание в DMOZ может повысить доверие к сайту со стороны поисковых систем, например, Google. Такой трафик, как ЯК, обычно не дает. Попасть в каталог очень сложно – оптимально стать редактором того раздела каталога, в который вы планируете добавить сайт – и став редактором, добавить. Либо наладить контакт с нужным волонтером DMOZ.

На момент написания статьи прием новых сайтов в каталог остановили – вместо каталога, предлагали добавить сайт в рейтинг Mail.ru (top.mail.ru). Если каталог возобновить работу – будет очень здорово, т.к. проект старый и ссылка с него – будет полезна.

Рейтинг сайтов и каталог в одном лице. Регистрация бесплатная. Для участия в рейтинге требуется установить счетчик на сайт. Рекомендуем закрывать статистику от просмотра, чтобы ваши данные не могли видеть конкуренты. Если сайт популярный в своей нише, рейтинг может дать трафик и рекламодателей.

Есть возможность бесплатной и платой регистрации. Последняя на момент подготовки статьи стоит около 300 рублей, но реально ускоряет модерацию и гарантирует добавление сайта. Плюсы платной регистрации – возможность более подробно описать сайт и добавить с карточки не одну, а несколько ссылок на разные разделы.

Каталог принимает корпоративные, коммерческие сайты.

Каталог предлагает несколько вариантов регистрации, в том числе бесплатное и платное добавление сайта.

Есть ограничение – не добавляет сайты с бесплатным хостингом.

Просто хороший каталог сайтов.

Платные каталоги, но на наш взгляд, стоящие своих денег:

12. Webproverka.com
Каталог посещают несколько тысяч посетителей в сутки, поэтому сайты из каталога могут получить не только ссылку, но и трафик. Стоимость регистрации — 10 долларов.

13. Rubo.ru
Стоимость регистрации 5 долларов или 150 рублей на момент подготовки обзора каталогов.

Список каталогов сайтов, не вошедших в ТОП-10:

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

URL каталога Примечание
1 goon.ru Все тематики
2 webcat.info Все тематики
3 sabrina.ru Все тематики
4 openlinks.ru Все тематики
5 refer.ru Все тематики
6 topstat.ru Все тематики
7 catalog.deport.ru Все тематики
8 s-catalog.ru Все тематики
9 faststart.ru Все тематики
10 dir.ikernel.org Все тематики
11 nobius.ru Все тематики
12 irdir.info Все тематики
13 in-catalog.com Все тематики
14 precat.ru Все тематики
15 cat.rusbic.ru Все тематики
16 lermont.ru Все тематики
17 webest.info Все тематики
18 catalog.monty74.ru Все тематики
19 ilinks.ru Все тематики
20 wmcap.ru Все тематики
21 gendilana.ru/cncat Все тематики
22 781313.ru/site_cat.php Все тематики
23 catalog.rufox.ru Все тематики
24 t0psites.com Все тематики
25 catalog.yuga.ru Краснодарские сайты
26 2-999-999.ru Красноярск
27 edirectory.ru Все тематики
28 rosfirm.ru Сайты компаний
29 www.spr.ru Сайты компаний
30 www.yell.ru Сайты компаний
31 rosmarket.ru Сайты компаний
32 yp.piter.com Сайты компаний
33 regtorg.ru Сайты компаний
34 povezlo.su Все тематики
35 miruslug.info Сайты компаний
36 dir.org.ru Все тематики
37 piter.nev.ru Санкт-Петербург
38 catalogr.ru Стартапы, сервисы
39 ins.org.ru Страхование
40 linkstroy.ru Строительная тематика

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

Как еще получить бесплатные ссылки? Полезные базы!

  • Посмотрите 45 сервисов для размещения пресс-релизов . Пресс-релиз — это документ, рассказывающий о какой-то новости или событии на сайте или в компании. В пресс-релизе можно поставить ссылку на сайт, в том числе — активную.
  • Посмотрите бесплатные каталоги статей . Подборка не новая, но часть площадок еще работают. Обратите внимание на площадки в комментариях к посту.
  • 26 лучших каталогов и справочников компаний , куда можно бесплатно добавить корпоративный сайт или интернет-магазин (база 2019 года! ).

Где еще стоит зарегистрировать сайт, помимо каталогов?

  1. Профильные и тематические рейтинги сайтов – могут дать не только ссылку с тематически близкого сайта, но и реальные переходы;
  2. Региональные каталоги. Пример хорошего регионального каталога — Uralweb.ru
  3. Сервисы закладок, которые индексируются поисковыми системами. Кстати, у Яндекса был свой сервис закладок Zakladki.yandex.ru, но сейчас он уже закрыт.
  4. Профили в социальных сетях: ВКонтакте, Одноклассники, Мой Мир, LinkedIn и другие.
  5. Справочник предприятий Яндекса sprav.yandex.ru – дает прямую ссылку на сайт. В справочнике можно разместить компанию на бесплатной и платной основе. Платно стоит не дешево, поэтому если Вы имеете опыт платного размещения — напишите в комментариях, остались ли довольны результатами?
  6. Доски объявлений, но только лучшие из лучших. Найти промышленные доски объявлений, где стоит размещать свои предложения, можно на сайте Snabjenci.ru . База там не новая, поэтому не все сайты могут работать. Однако в свое время на сайте были собраны основные доски объявлений по основным отраслям.
  7. Сайты с вакансиями. на ряде таких сайтов можно регистрироваться как компания-работодатель и создавать свой профиль, открытый для индексации поисковыми системами. В профиле можно указать информацию о компании и ссылку на сайт. Хорошая подборка сайтов вакансий собрана здесь: http://www.kadrof.ru/cat_vac.shtml .
  8. Биржи фриланса. После регистрации на бирже Вы получаете возможность заполнить портфолио. В портфолио можно указывать ссылки на сайты, которые Вы разработали или продвигаете. Поскольку профили фрилансеров открыты для индексации поисковыми системами, то ссылки из портфолио также попадают в индекс. Таким образом с разных бирж фриланса можно получить 10-15 ссылок на сайт. Список популярных бирж можно найти здесь: http://www.kadrof.ru/cat_exchange.shtml .

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

Похожие статьи