Php include html file header

PHP Include

Summary: in this tutorial, you will learn how to include code from a file using the PHP include construct.

Introduction to the PHP include construct

The include construct allows you to load the code from another file into a file. Here’s the syntax of the include construct:

include 'path_to_file';Code language: PHP (php)

In this syntax, you place the path to the file after the include keyword. For example, to load the code from the functions.php file into the index.php file, you can use the following include statement:

 // index.php file include 'functions.php';Code language: HTML, XML (xml)

If PHP cannot find the ‘functions.php’ file in the src directory, it’ll issue a warning. For example:

Warning: include(functions.php): failed to open stream: No such file or directory in . on line 4 Warning: include(): Failed opening 'functions.php' for inclusion (include_path='\xampp\php\PEAR') in . on line 4Code language: PHP (php)

When loading the functions.php file, PHP first looks for the functions.php file in the directory specified by the include_path . In this example, it’s ‘\xampp\php\PEAR’ . If PHP can find the functions.php file there, it loads the code from the file.

Otherwise, PHP searches the functions.php file in the directory of the calling script and the current working directory. If PHP can find the functions.php file there, it loads the code. Otherwise, it issues a warning if the file doesn’t exist.

When PHP loads the functions.php file, it actually executes the code inside the functions.php file. For example, if you place the following code in the functions.php file:

 // functions.php function get_copyright() < return 'Copyright © ' . date('Y') . ' by phptutorial.net. All Rights Reserved!'; > echo get_copyright(); Code language: HTML, XML (xml)

and include the functions.php in the index.php file, you’ll see the following output when you run the index.php file:

Copyright © 2021 by phptutorial.net. All Rights Reserved!Code language: CSS (css)

This demonstrated that the include construct does make PHP executes code in the functions.php file.

PHP include example

In practice, you’ll often use the include construct to the page elements from a general site design. For example, all pages in your website may have the same header and footer.

To avoid repeating these elements on multiple pages, you can place the code of the header and footer in separate files such as header.php and footer.php and include them on the pages.

Typically, you place the template files like header.php and footer.php in a separate directory. By convention, the name of the include directory is inc :

. ├── index.php ├── functions.php ├── inc │ ├── footer.php │ └── header.php └── public ├── css │ └── style.css └── js └── app.jsCode language: CSS (css)

The header.php file contains the code of the header of the page. It has a link to the style.css file located in the public/css directory:

html> html lang="en"> head> meta charset="UTF-8" /> meta name="viewport" content="width=device-width, initial-scale=1.0" /> link rel="stylesheet" href="public/css/style.css"> title>PHP include Example title> head> body>Code language: HTML, XML (xml)

The footer.php file contains the code related to the footer of the page:

script src="js/app.js"> script> body> html>Code language: HTML, XML (xml)

In the index.php file, you can include the header.php and footer.php file like this:

 include 'inc/header.php'; ?> h1>PHP include h1> p>This shows how the PHP include construct works. p>  include 'inc/footer.php'; ?>Code language: HTML, XML (xml)

If you run the index.php file and view the source code of the page, you’ll also see the code from the header.php and footer.php files:

html> html lang="en"> head> meta charset="UTF-8" /> meta name="viewport" content="width=device-width, initial-scale=1.0" /> link rel="stylesheet" href="public/css/style.css" /> title>PHP include Example title> head> body> h1>PHP include h1> p>This shows how the PHP include construct works. p> script src="public/js/app.js"> script> body> html>Code language: HTML, XML (xml)

PHP include & variable scopes

When you include a file, all the variables defined in that file inherit the variable scope of the line on which the include occurs.

1) Including outside a function example

For example, the following defines the $title and $content variables in the functions.php :

 // functions.php $title = 'PHP include'; $content = 'This shows how the PHP include construct works.';Code language: HTML, XML (xml)

When you include the functions.php in the index.php file, the $title and $content variables become the global variables in the index.php file. And you can use them as follows:

 include 'inc/header.php'; ?>  include_once 'functions.php'; ?> h1> echo $title; ?> h1> p> echo $content; ?> p>  include 'inc/footer.php'; ?>Code language: HTML, XML (xml)

2) Including within a function example

However, if you include a file in a function, the variables from the included file are local to that function. See the following example:

 include 'inc/header.php'; ?>  include_once 'functions.php'; ?>  function render_article() < include 'functions.php'; return " 

$title

$content
"
; > echo render_article(); ?>
include 'inc/footer.php'; ?>
Code language: HTML, XML (xml)

In this example, we include the functions.php inside the render_article() function. Therefore, the $title and $content variables from the functions.php are local to the render_function() .

It’s important to note that all functions, classes, interfaces, and traits defined in the included file will have a global scope.

Summary

Источник

Самые простые способы интеграции HTML

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

HTML

Но приведенный выше код не работает.

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

Используем PHP

Может, стоит применять PHP?

Код, приведенный выше, обеспечивает подключение на уровне сервера. Запрос будет выполнен в файловой системе на сервере. Поэтому этот способ намного быстрее, чем решение, реализуемое на стороне клиента.

Используем Gulp

Еще быстрее работает предварительная обработка подключения. У Gulp есть множество плагинов для этого. Один из них – gulp-file-include .

 @@include('./header.html') Content @@include('./footer.html') 
var fileinclude = require('gulp-file-include'), gulp = require('gulp'); gulp.task('fileinclude', function() < gulp.src(['index.html']) .pipe(fileinclude(< prefix: '@@', basepath: '@file' >)) .pipe(gulp.dest('./')); >);

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

Используем Grunt

Вот что делает плагин grunt-bake . Настройте Grunt для обработки HTML:

Тогда HTML сможет использовать специальный синтаксис для подключений:

Используем Handlebars

У Handlebars есть шаблоны (partials). Их необходимо зарегистрировать:

Handlebars.registerPartial('myPartial', '>')

Теперь их можно использовать:

В Handlebars также доступны средства для оценки и передачи данных. Чтобы запустить их, понадобится плагин типа gulp-handlebars .

Используем Pug

Pug – это препроцессор HTML с новым, более сжатым синтаксисом. Но он использует расширения (includes) .

body include ./header.html" p Content include ./footer.html"

Запустите код, приведенный выше, с помощью gulp-pug.

Используем Nunjucks

Nunjucks тоже содержит расширения . Используйте следующий код:

Если поместить код в файл index.njk, то его можно обработать с помощью простого скрипта Node в index.html:

const nunjucks = require("nunjucks"); const fs = require("fs"); fs.writeFile("index.html", nunjucks.render("index.njk"), function(err, data) < if (err) console.log(err); console.log("Compiled the Nunjucks, captain."); >);

Также этот код можно обработать с помощью gulp-nunjucks .

Используем Ajax

Допустим, ваш документ выглядит следующим образом:

Можно вывести контент для шапки и подвала из соответствующих шаблонов.

fetch("./header.html") .then(response => < return response.text() >) .then(data => < document.querySelector("header").innerHTML = data; >); fetch("./footer.html") .then(response => < return response.text() >) .then(data => < document.querySelector("footer").innerHTML = data; >);

Если вы создаете сайт, используя фреймворк JavaScript, то применяйте компоненты.

Используем iframes

Используйте код, приведенный ниже:

  Content.  

Обратите внимание, что контент в iframes использует разные DOM. Поэтому код выглядит немного странно.

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

Используем Jekyll

Jekyll – это генератор статических сайтов на основе Ruby с включениями . Они сохраняются в папке /_includes/, а затем:

Существует еще множество генераторов статических сайтов . Многие из них поддерживают подключение внешних HTML-файлов.

Используем Sergey

Есть еще один генератор статических сайтов (SSG), который стоит упомянуть. В Sergey есть формат стиля веб-компонентов:

Назовите файлы header.html и footer.html и поместите их в /includes/ . В этом случае Sergey выполнит сборку с обработанными подключениями, когда вы запустите скрипт npm.

Используем Apache SSI

Apache также поддерживает подключения . Введите код, приведенный ниже:

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

Options +Includes AddType text/html .html AddOutputFilter INCLUDES .html

Используем CodeKit

CodeKit включает в себя специальный язык Kit , 90% функций которого необходимы только для подключений. Kit использует специальные комментарии в HTML:

Заключение

Не уверен, что , которые запускают сетевые запросы во всем коде, станут хорошим решением с точки зрения производительности. Использование импорта ES6 напрямую без сборки — тоже не всегда хорошая идея. @import (импорт) CSS в CSS не всегда хорошая идея, но такая возможность есть.

Источник

PHP Include Files

The include (or require ) statement takes all the text/code/markup that exists in the specified file and copies it into the file that uses the include statement.

Including files is very useful when you want to include the same PHP, HTML, or text on multiple pages of a website.

PHP include and require Statements

It is possible to insert the content of one PHP file into another PHP file (before the server executes it), with the include or require statement.

The include and require statements are identical, except upon failure:

  • require will produce a fatal error (E_COMPILE_ERROR) and stop the script
  • include will only produce a warning (E_WARNING) and the script will continue

So, if you want the execution to go on and show users the output, even if the include file is missing, use the include statement. Otherwise, in case of FrameWork, CMS, or a complex PHP application coding, always use the require statement to include a key file to the flow of execution. This will help avoid compromising your application’s security and integrity, just in-case one key file is accidentally missing.

Including files saves a lot of work. This means that you can create a standard header, footer, or menu file for all your web pages. Then, when the header needs to be updated, you can only update the header include file.

Syntax

PHP include Examples

Example 1

Assume we have a standard footer file called «footer.php», that looks like this:

To include the footer file in a page, use the include statement:

Example

Welcome to my home page!

Some text.

Some more text.

Example 2

Assume we have a standard menu file called «menu.php»:

All pages in the Web site should use this menu file. Here is how it can be done (we are using a element so that the menu easily can be styled with CSS later):

Example

Welcome to my home page!

Some text.

Some more text.

Example 3

Assume we have a file called «vars.php», with some variables defined:

Then, if we include the «vars.php» file, the variables can be used in the calling file:

Example

Welcome to my home page!

echo «I have a $color $car.»;
?>

PHP include vs. require

The require statement is also used to include a file into the PHP code.

However, there is one big difference between include and require; when a file is included with the include statement and PHP cannot find it, the script will continue to execute:

Example

Welcome to my home page!

echo «I have a $color $car.»;
?>

If we do the same example using the require statement, the echo statement will not be executed because the script execution dies after the require statement returned a fatal error:

Example

Welcome to my home page!

echo «I have a $color $car.»;
?>

Use require when the file is required by the application.

Use include when the file is not required and application should continue when file is not found.

Источник

Читайте также:  Testing python на русском
Оцените статью