- Создание PHP+MySQL сайта: от простого к сложному — шаг первый
- 1. Подготовка базы данных. Создаём первую таблицу в БД MySQL
- 2. Создаём файл конфигурации сайта
- 3. Создаём index.php — главный контроллер сайта
- 4. Создаём компонент вывода обычной страницы
- 5. Создаём компонент вывода главной страницы
- 6. Создаём шаблон дизайна всего сайта
- 7. Чистые ссылки и файл .htaccess
- Создать файл index php index html
- Что означает создание php файла «вручную»
- Что означает «создать php файл с помощью «php»«
- Создать файл php на компьютере
- Как создать файл php в блокноте
- Php создать файл на сервере
- Php создать файл на сервере видео
- Друзья!
- Php создать файл если не существует
- Пример создания файла php при нажатии на кнопку
- Сделать файл php при нажатии на кнопку с содержимым
Создание 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 следующего содержания:
// MYSQL
class MyDB
var $dblogin = «root»; // ВАШ ЛОГИН К БАЗЕ ДАННЫХ
var $dbpass = «»; // ВАШ ПАРОЛЬ К БАЗЕ ДАННЫХ
var $db = «mysite»; // НАЗВАНИЕ БАЗЫ ДЛЯ САЙТА
var $dbhost=»localhost»;
var $link;
var $query;
var $err;
var $result;
var $data;
var $fetch;
function connect() $this->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:
define(«INDEX», «»); // УСТАНОВКА КОНСТАНТЫ ГЛАВНОГО КОНТРОЛЛЕРА
require_once($_SERVER[DOCUMENT_ROOT].»/cfg/core.php»); // ПОДКЛЮЧЕНИЕ ЯДРА
// ПОДКЛЮЧЕНИЕ К БД
$db = new MyDB();
$db->connect();
// ГЛАВНЫЙ КОНТРОЛЛЕР
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». Содержимое файла следущее:
/* КОМПОНЕНТ СТРАНИЦЫ */
$alias = $_GET[alias];
$query = «SELECT * FROM pages WHERE page_alias='».$alias.»‘ AND page_publish=’Y’ LIMIT 1″;
$db->run($query);
$db->row();
// ПЕРЕМЕННЫЕ КОМПОНЕНТА
$id = $db->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 на данном этапе такое:
# ЗАПРЕЩЁННЫЕ ФАЙЛЫ
RewriteRule .htaccess — [F]
RewriteRule template.php — [F]
# ПРАВИЛА mod_rewrite
RewriteRule page/([a-z0-9_-]+)([\/])\.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 — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.
Создать файл index php index html
Создание php файла «вручную».
Создать php файл с помощью «php»
Что означает создание php файла «вручную»
Любой способ, в котором вы непосредственно взаимодействуете с php файлом и называется — «создание файла php вручную.»
Что означает «создать php файл с помощью «php»«
Существует несколько функций, которые могут это делать!
Создать файл php на компьютере
Как создать файл php на компьютере — если у вас вообще нет никаких программ, которые могут создавать php файл, то это не повод расстраиваться! Ваш компьютер вам не враг, а друг!
Открываем любую папку, где вам требуется создать php файл нажимаем ПКМ внутри папки, в выпавшем окне ищем строку создать.
Далее выбираем любой файл, вообще не важно!
После создания любого файла, наводим мышку на него и нажимаем F2, название файла и разрешение становится доступным вбиваем требуемое название с разрешением файла php. (если нет разрешение — ищи показать разрешение для зарегистрированных файлов.)
Как создать файл php в блокноте
Для того, чтобы сделать файл php в блокноте нам потребуется:
Далее → вбираем название файла и добавляем разрешение php сохраняем!
Php создать файл на сервере
Для того, чтобы создать php файл на сервере есть несколько функций! Я пользуюсь функцией file_put_contents
$file= «здесь путь/название файла»;
Если вы в переменную $file поместите просто название файла, то файл создастся в папке размещения скрипта. Если у вас единая точка входа, то файл создастся в корневой папке.
Php создать файл на сервере видео
Как создать файл на сервере — я совсем забыл, что у меня есть видео на тему создания файла на сервере! Единственное, что нужно — это вместо html поставить разрешение php!
Друзья!
Берем путь и присоединяем к нему $home
$file = $home . «здесь путь/название файла «;
Php создать файл если не существует
У нас есть условие! Если файл не существует, то создать его!
Для этого потребуется условие и функция file_exists
Если файла php не существует, то создадим его с помощью file_put_contents.
$rezult = ‘Файл ‘.$file.’ существует’;
$rezult = ‘Файл ‘.$file.’ НЕ существует’;
file_put_contents(«index.html», «привет мир!»>;
Пример создания файла php при нажатии на кнопку
То вы можете сделать файл php онлайн!
Если вы видите такую строчку:
То вам сперва нужно удалить файл, а потом уже вернуться на эту страницу и у вас будет возможность создать файл php онлайн на сервере!
Сделать файл php при нажатии на кнопку с содержимым
Не будем углубляться в дебри, а лишь набросаем, как делать файл с контентом и тот самый пример разберем.
Из формы с помощью post отправляем два значения.
Загоняем каркас страницы с нашими переменным в другу переменную:
С помощью file_put_contents записываем данные в файл :
И последнее о чем не сказали — это переменная $name_page — которая будет названием файла. Для этого, русский текст заголовка превратим в латиницу с помощью транслитерации Какими программами пользуюсь(пользовался) я!?
Составим рейтинг программ чем больше число, тем свежее.
Я начинал с Namo 9 — вся кривая была, не знаю, сейчас существует или нет!
В свое время считал программу — Dreamweaver самой крутой и классной! Но время проходит и потом написал целую страницу Почему сегодня не Dreamweaver!?
Хорошая, простая, бесплатная программа — Notepad для работы с кодом, не только php, до сих пользуюсь и сейчас установлена в на компе!
Основная — Sublime, которой пользуюсь больше времени, чем всеми другими!