что такое index php
Что такое файл index.php и зачем он нужен?
Для того, чтобы понять эту статью, вам уже нужно быть знакомым с PHP хотя бы на самом базовом уровне, быть чуть-чуть знакомым с консолью и очень желательно уже уметь запускать простые программы на PHP. Но я попытаюсь всё это объяснить еще раз.
Что такое файл index.php?
Файл index.php
Тогда почему есть файл, который обязан называться index.php? Это уже относится только к PHP. Дело в том, что PHP должен знать, как именно запустить вашу программу. Ему нужно указать, откуда она начинается. Здесь в дело вступает файл index.php: его название указывает на то, что его нужно запустить первым. Тут не надо думать, надо просто запомнить: если в каталоге есть 1000 файлов с PHP-кодом и один файл index.php, то вся программа начнется с него, он запустится первым.
Может ли не быть файла index.php?
Как создать файл index.php?
Давайте создадим index.php, который в результате своей работы посчитает сумму двух чисел? Для этого откройте текстовый редактор, о котором мы говорили. Напишите туда следующий код:
Теперь сохраните этот файл с названием index.php. Далее давайте запустим его через интерпретатор PHP. Для этого в консоли выполните команду:
Обратите внимание, что у вас должен быть настроен PHP соответствующим образом, чтобы делать такой запуск. Путь до файла php.exe (или php в linux) должен быть прописан в PATH для вашего окружения. Иначе напишите полный путь до интерпретатора PHP.
Файл index.php и веб-сервер
Настройка веб-сервера выходит за рамки данной статьи. Тем более, что веб-серверов много и все они разные. Поэтому просто укажу на некоторые важные вещи.
Во-вторых, даже если вы всё настроили правильно, вы должны быть уверены, что веб-сервер имеет соответствующие права, чтобы открыть ваш файл index.php. Почитайте что-нибудь про «Права и доступы в Linux», ничего конкретного порекомендовать я тут не могу.
Если вы добавите HTML в пример с подсчетом чисел (см. выше), то при открытии через интерпретатор (то есть через консоль) вы не увидите HTML-страницу. HTML обрабатывается только браузером, поэтому в этой статье я приводить такой пример не стал.
Умоляю, не пишите говно-код на PHP. Выучите язык хорошо перед тем, как начинать работать. Я так устал рефакторить говно, написанное идиотами. 🙂 Это тема заслуживает отдельной статьи, пожалуй.
Создаем шаблон Joomlа по стандартам — часть 1 (продолжение)
Это продолжение статьи. Начало здесь.
index.php
Чем на самом деле является файл index.php? Это комбинация (X)HTML и PHP, которая определяет все необходимое для отображения элементов страницы.
Сначала посмотрим на элемент, который крайне важен для создания валидных шаблонов — DOCTYPE в верхней части файла index.php. Этот фрагмент кода отображается в верхней части всех веб-страниц. На страницах нашего шаблона мы видим следующее:
Первое строчка на PHP предназначена просто для того, чтобы убедиться, что к файлу не обращаются напрямую, из соображений безопасности.
DOCTYPE веб-страницы — это один из фундаментальных параметров, на основании которого браузер решает, как ему отображать эту страницу, в частности, как браузеру интерпретировать CSS. Для лучшего понимания приведем здесь хорошую цитату с сайта alistapart.com:
[Информация на сайте W3C о DOCTYPE] составлена гиками для гиков. И когда я говорю «гики», я не имею в виду обычных профессионалов Веб, таких как я или вы. Я имею в виду тех гиков, которые заставляют нас выглядеть как Бабушку в тот день, когда Она Впервые Получила E-mail.
В любом случае, вы можете использовать разные DOCTYPE. По существу, DOCTYPE говорит браузеру, как интерпретировать страницу. С самого начала, когда появился Веб, разные браузеры имели разные уровни поддержки CSS. Так, например, Internet Explorer не поймет команду «min-width», используемую для установки минимальной ширины страницы. Для того, чтобы продублировать эффект, вам придется использовать «хаки» в CSS.
Некоторые говорят, что обработка XHTML как text/html должна считаться «вредной». Если вы действительно понимаете это утверждение, то вы находитесь далеко за пределами этого руководства. Вы можете прочитать больше на эту тему по адресу hixie.ch/advocacy/xhtml. «Strict» означает, что HTML (или XHTML) должен интерпретироваться в точности по стандартам. А «Transitional» в DOCTYPE означает, что на странице дозволены определенные отступления от стандартов.
Чтобы усложнить картину, добавим, что существует еще так называемый режим «quirks» (специальных ухищрений). Если DOCTYPE указан неверно, с неправильной датой, или вообще не указан, браузер переходит в режим «quirks». На самом деле, это попытка обеспечения обратной совместимости, так, например, Internet Explorer 6 будет интерпретировать страницу так, как это делал бы IE4.
Далее указывается следующее XML-выражение (после DOCTYPE):
Пояснения насчет режима «quirks» в IE очень важны. В этой статье мы разрабатываем шаблон для IE6+, следовательно мы должны быть уверены, что он работает в стандартном режиме. Это минимизирует необходимость хаков, которые нам придется позже применить.
ПРИМЕЧАНИЕ
Создание страниц, соответствующих стандартам, когда вы видите «valid xhtml» в нижней части страницы, не означает в действительности трудоемкой верстки или использования малопонятных тегов. Это просто означает, что разрабатываемый вами код, соответствует заявленному DOCTYPE, и ничего более.
Разработка сайта по стандартам может быть описана одной фразой как «говори, что ты делаешь, а затем делай то, что говоришь».
Что еще есть в файле index.php?
Посмотрите сначала на структуру заголовка. Мы хотим быть минималистичны, насколько это возможно, но при этом иметь все необходимое для создания работающего сайта. Мы используем следующий заголовок:
Что все это означает?
Мы уже рассказывали о значении DOCTYPE в файле index.php. Фрагмент извлекает установленный язык из глобальной конфигурации.
Следующий фрагмент включает дополнительную информацию для заголовка:
Это заголовочная информация, которая задана в глобальной конфигурации. Она включает в себя следующие теги (в инсталляции по умолчанию):
Большая часть этой информации генерируется «на лету» в соответствии с данными текущей страницы (статьи). Она включает в себя ряд мета-тегов для favicon, адресов RSS-потоков и некоторых стандартных JavaScript-файлов.
Последние строки в заголовке содержат ссылки на CSS-файлы шаблона:
Первые два файла — system.css and general.css содержат некоторые основные стили Joomla. Последний содержит все стили шаблона и называется здесь template.css. Фрагмент кода PHP возвращает название текущего шаблона. Указание его именно таким образом, вместо реального пути, делает код более переносимым. Когда вы создаете новый шаблон, вы можете просто скопировать его (включая весь заголовок), не беспокоясь о внесении исправлений.
В заголовке может быть указано любое количество CSS-файлов, например, для условных стилей, определяемых для разных браузеров. Например, следующий фрагмент определяет такую таблицу стилей для IE6:
Следующий пример показывает, как могут использоваться параметры шаблона:
Пустое тело шаблона
Создание нашего первого шаблона будет очень-очень простым! Вы готовы?
Все, что необходимо, — это использовать выражения Joomla, которые добавят содержимое всех модулей в основное тело страницы (mainbody):
В настоящий момент наш сайт не вылядит особенно впечатляюще (см.
иллюстрацию)
Что необходимо знать
По существу, шаблон просто загружает модули Joomla и mainbody (компонент). Расположение элементов и дизайн — это дело CSS, а не Joomla.
Нашей целью является как можно ближе приблизиться к семантической разметке. С точки зрения Web, это означает, что страница может быть прочитана браузером, «пауком» поисковой системы или устройством чтения с экрана. Семантическая разметка является краеугольным камнем доступности.
Примечание
На самом деле, мы имеем здесь только некий потенциал для семантической разметки. Например, если размещать случайные модули в случайных местах, то мы получим полную путаницу. Важным взглядом на CMS-сайты является то, то шаблон ровно настолько хорош, насколько хорошо его наполнение контентом. Именно поэтому так часто придираются к дизайнерам, пытаясь проверять их сайты на валидность.
Вы заметили, что мы впервые использовали набор команд, специфичных для Joomla:
PHP-выражение «echo» просто отображает строку из файла configuration.php. Здесь мы использовали название сайта, но можно, например, отобразить и другие параметры:
Выражение «jdoc» вставляет различные типы XHTML-вывода, как модулей, так и компонентов. Следующая строка вставляет вывод компонента. Какой компонент будет использован, будет определяться ссылкой в меню:
ПРИМЕЧАНИЕ
Достаточно интересно, вам кажется, что вывод компонента можно использовать несколько раз. Не уверен, что вам захочется сделать это, но я говорю вам, что это может быть ошибкой.
Эта строка вставляет вывод всех модулей, заданных для места «right»:
На самом деле, полный синтаксис такой:
Мы рассмотрим различные варианты опций для стилей в разделе о модулях позднее.
Index php что это
Содержание
Общее определение index.php
Часто встречаете комбинацию index.php? Скорее всего что да, так как это самый часто используемый (как основной) файл при работе PHP script языка на Apache сервере.
index.php — самый распространенный стартовый файл для начала работы скриптового языка программирования PHP на WEB сервере, в основном Apache.
Для новичка стоит только знать, что большинство сайтов (sites) свою работу начинают именно с этого файла (file). Размещается файл в корне основного хранилища файлов сайта. Также может располагаться внутри директорий (directory). Тогда Apache сервер будет искать и грузить в первую очередь index.php в запрашиваемой директории, если не прописано что-либо иное в файле настроек сервера htaccess
Как заставить Apache первым загружать index.php (options)
Как правильно делать:
Многие делают еще так:
Тут стоит немного объяснить алгоритм действий:
И так далее, пока не закончится все, что будет у вас перечислено в строчке DirectoryIndex.
Есть много других опций (options) для управления загрузками, но это надо читать более расширенную спецификацию htaccess.
Используют такой метод, как правило, в том случае, если хотят защитить index.php от сканирования на предмет различных уязвимостей, например:
Если index.php будет другой, то все, что идет после index.php, не имеет никакого значения. Но существуют другие способы определить, какой именно файл является главным загрузочным на WEB сервере. Так что особой безопасности от этого метода не получится. А вот неудобства использования возрастают. Поэтому к этому методу стоит относиться с особой осторожностью и продуманностью.
Как скрыть index.php через htaccess
На WEB сервере Apache должен быть включен модуль mod_rewrite. На сегодняшний день данный модуль включен практически у каждого хостера, но в любом случае в этом нужно убедиться, иначе не получиться работать. Данный метод в основном используют SEO оптимизаторы.
Код для скрытия index.php
Как все запросы отправлять через index.php (redirect)
Тут тоже в общем-то ничего сложного
Как скачать index.php
При соблюдении WEB мастером правил безопасности скачать index.php нельзя по определению.
Можно скачать index.php только в случаях, если:
Вот как-то так. Если у вас есть вопросы, задавайте их в комментариях, и в скором времени разъяснительный ответ появиться в этой статье.
Дополнительная информация по теме
Описание процедуры получения справки 083-у, возможных мест ее выручения, сравнение достоинств и недостатков каждого
В статье рассматриваются моменты как увеличить число активных продаж и другие сопутствующие функции
Как и какими способами можно организовать пассивные продажи не привлекая для этого особых усилий
Краткое описание почему интересная работа (проекты) значительно больше привлекают великих людей
Для создания перспективного, расширяемого и эффективного сайта любой сложности следует начинать с простого. Это процесс нелёгкий, требует определённых базовых знаний PHP и MySQL, но если его рассмотреть по пунктам — то можно составить своего рода «рабочий план», который пригодится при создании новых сайтов. Подготовим «ядро» и базу для проекта. Вначале это будет обычный сайт визитка, но потом, добавляя функционал, его можна превратить во что угодно. Итак, приступим.
1. Подготовка базы данных. Создаём первую таблицу в БД MySQL
Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:
Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.
2. Создаём файл конфигурации сайта
function close() link);
>
Этот файл пока содержит только простой класс подключения к базе данных, но в дальнейшем в него можно добавлять разные полезные функции, которые будут доступны из любого места в коде сайта. Не забудьте изменить логин и пароль к Вашей базе.
Если Вы работаете в среде Windows, я могу порекоммендовать использовать редактор Notepad++. В этом редакторе есть нумерация строк, и он легко переводит текст из одной кодировки в другую. ВНИМАНИЕ! Если Вы работаете в кодировке UTF-8 — конвертируйте файлы в UTF-8 without BOM — это поможет избежать проблем в будущем.
3. Создаём index.php — главный контроллер сайта
Файл конфигурации создан. Теперь в корневой папке сайта создаём index.php — это и будет основной скрипт сайта, своего рода «главный контроллер». Содержание файла index.php:
// ГЛАВНЫЙ КОНТРОЛЛЕР
switch ($_GET[option])
include ($_SERVER[DOCUMENT_ROOT].»/template.php»);
$db->close();
4. Создаём компонент вывода обычной страницы
Создаём в папке «com» файл «page.php». Содержимое файла следущее:
5. Создаём компонент вывода главной страницы
Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.
Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:
$query = «SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1»;
6. Создаём шаблон дизайна всего сайта
В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.
RewriteEngine On
RewriteBase /
# ПРАВИЛА mod_rewrite
RewriteRule page/([a-z0-9_-]+)([/] ).htm$ index.php?option=page&alias=$1 [L]
Также в каждой папке сайта «на всякий случай» создайте пустой файл index.html — это нужно для того, чтобы при обращении к каталогу через адресную строку ничего не отображалось.
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Я относительно новичок в php. Есть очень основное, что меня беспокоило. Я понимаю, что php используется для создания динамических веб-сайтов. Я также понимаю, что php является одним из многих языков сценариев на стороне сервера, которые можно использовать для создания динамических веб-сайтов.
Однако я не понимаю, когда мне нужно использовать страницу index.php. Скажем, например, если у меня только простая страница входа на мою индексную страницу, вполне может быть просто простая страница html. Правильно? Тогда почему я хочу сделать его index.php вместо index.html?
Пример образцовой ситуации был бы велик.
Есть еще одна вещь, на которую следует обратить внимание. Когда вы вводите только URL-адрес (без имени файла), например:
существует порядок расширений (имен файлов), которые веб-сервер (apache) ищет индексный документ. Например, config apache может содержать раздел, например:
Это означает, что индексный документ выполняется в указанном выше порядке. Это означает, что если вы помещаете index.html и index.php в одну и ту же папку – и имея конфигурацию выше – всегда индекс. html будет доставлен сервером.
Как новичок, вы можете найти php, который вам пригодится, позволяя создавать простые шаблоны. Заголовок и нижний колонтитул сайта, например, могут быть записаны в один файл, а затем включены во все остальные страницы.
Не важно, используете ли вы index.php или index.html. Вы также используете любого из них. Только вам нужен PHP (или любой другой язык сценариев на стороне сервера), чтобы сделать ваш сайт динамичным.
Как и у вас есть страница входа в систему, вы можете сделать ее как inde.html, но ваши логики должны либо быть в другом файле, либо встроены в HTMl.
Вы можете использовать то, что когда-либо предпочитаете: если вы предпочитаете хранить формы и базовые страницы, которые не используют данные в HTML, и сохраняйте страницы, которые используют php в формате php, это нормально.
Но один из методов, который я и я предполагаю, что большинство других используют, – это просто сделать все ваши php-файлы ваших страниц. Это связано с тем, что вы можете включить html-документ в файл php и отобразить его точно так же. Но вы не можете делать php-запросы из html-файла, поэтому легко просто использовать php только для того, чтобы добавить к нему некоторые скрипты php.
Проще говоря, вы можете легко получить доступ к файлу index.html и получить данные под ним. Но index.php трудно получить доступ. Для вашего простого приложения index.html сделает трюк. Если вы планируете какое-то большое и безопасное приложение, перейдите на index.php
Вы всегда можете создать файл index.html но не знаете, когда вам может понадобиться какая-то логика.
Чтобы проверить текущие настройки приоритета расширения файла в apache2 с помощью linux
Индексная страница сайта
Индексная страница — это файл, который соответствует каталогу, запрашиваемому пользователем. Допустим пользователь через браузер запрашивает страницу http://www.сайт.ru/, сервер обрабатывает запрос и выдает страницу в таком виде http://www.сайт.ru/index.html, так как по данному адресу настроена индексная страница index.html.
Если в запрашиваемом каталоге нет соответствующего файла, сервер выдаст ошибку 403.
В некоторых CMS обычно используются следующие индексные файлы:
На нашем хостинге используются стандартные индексные файлы (index.php, index.htm, index.html), поэтому дополнительных действий по изменению индексных страниц, при использовании нашего хостинга, не требуется.
Индексный файл нужен для того, чтобы направить пользователя на нужную страницу.
Как поменять индексные страницы?
Для того, чтобы изменить индексные файлы, требуется открыть раздел «WWW-домены», выбрать нужный домен и нажать кнопку «Изменить». Выбрать поле «Индексная страница» и изменить индексные файлы. Список имён индексных файлов указывается через пробел в порядке убывания значимости. Важно знать, сервер открывает файлы в порядке очереди от более значимых до менее значимых.
Web-сервер будет искать данные файлы, если URL указан без имени файла. Если список пуст, то значения будут использованы из глобальных настроек Web-сервера.
Создание PHP+MySQL сайта: от простого к сложному — шаг первый
Для создания перспективного, расширяемого и эффективного сайта любой сложности следует начинать с простого. Это процесс нелёгкий, требует определённых базовых знаний PHP и MySQL, но если его рассмотреть по пунктам — то можно составить своего рода «рабочий план», который пригодится при создании новых сайтов. Подготовим «ядро» и базу для проекта. Вначале это будет обычный сайт визитка, но потом, добавляя функционал, его можна превратить во что угодно. Итак, приступим.
1. Подготовка базы данных. Создаём первую таблицу в БД MySQL
Создаём новую базу данных, например «mysite». Лично я привык работать с кодировкой UTF-8, по-этому сразу оговорюсь: проследите, чтобы все текстовые файлы сайта, сама база, таблицы и поля таблиц были в одной кодировке.
В новой базе делаем таблицу. Назовём её «pages». В этой таблице будут храниться статические страницы будущего сайта и информация о них. Таблица должна содержать следующие поля:
Сразу после создания таблицы вставляем в неё значения для главной страницы сайта. В поле «page_alias» для главной страницы предлагаю вставить значение «home». Метатеги — соответственно тематике всего сайта. Таким же образом можно посоздавать другие страницы, например «О компании» с алиасом «about» и своими метатегами, или «Контакты» с алиасом «contacts» и т.д.
2. Создаём файл конфигурации сайта
function close() <
mysql_close($this->link);
>
Этот файл пока содержит только простой класс подключения к базе данных, но в дальнейшем в него можно добавлять разные полезные функции, которые будут доступны из любого места в коде сайта. Не забудьте изменить логин и пароль к Вашей базе.
Если Вы работаете в среде 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();
4. Создаём компонент вывода обычной страницы
Создаём в папке «com» файл «page.php». Содержимое файла следущее:
5. Создаём компонент вывода главной страницы
Главная страница у нас в базе данных хранится под псевдонимом «home», и пока по своей структуре не отличается от обычных страниц сайта — это просто статья. Тем не менее создадим для неё отдельный компонент — на перспективу, так сказать.
Содержимое компонента «home.php» в папке «com» почти совпадает с содержимым компонента обычной страницы, за исключением строки запроса к базе и названия компонента. Строка запроса теперь выглядит так:
$query = «SELECT * FROM wx_pages WHERE page_alias=’home’ LIMIT 1»;
6. Создаём шаблон дизайна всего сайта
В корневой папке также должны быть папки «css» и «images» для элементов дизайна. В файле /css/style.css — можно настроить стили по своему усмотрению.
RewriteEngine On
RewriteBase /