SlideShare a Scribd company logo
1 of 13
Включване на файлове 
Тема 4 
11.12.14 1
Съдържание 
1.Включване на файлове 
2.Избягване на повторенията 
3.Примерен сайт 
 Разглеждат се начините за изграждане 
на динамично съдържание и 
многократното използване на един и 
същи код в сайтовете. 
11.12.14 2
1. Включване на 
файлове 
 Функцията - include(): 
 приема като параметър пътят (абсолютен или 
относителен) до файла, който искаме да включим; 
 включеният чрез include() файл като код, се намира 
на реда, в който се намира функцията - "вгражда" в 
тялото на текущия документ; 
 всички променливи, които са дефинирани до 
появата на функцията ще са достъпни и за кода на 
включени файл; 
 файла се загражда с - ”” ; 
 Ако извикате PHP файл от отдалечен сървър, 
трябва да сте сигурен, че скриптът може да бъде 
изпълнен там. 
11.12.14 3
Пример_1 
../uroci/t4/indext41.php 
<HTML> 
<BODY> 
<h2> 
<?php // Това е index41.php 
$name="Иван"; 
$ip=getenv('REMOTE_ADDR') 
11.12.14 4 
; 
include ("content41.php"); 
?> 
</h2> 
</BODY> 
</HTML> 
../uroci/t4/content41.php 
<?php // Това е content41.php 
echo "Здравейте, $name! 
<br>Вашият IP адрес е $ip"; 
?> 
Двата файла са в една 
директория
Особености 
 Пътищата до 
даден файл 
могат да са 
абсолютни и 
относителни; 
 Абсолютен е 
пътят от 
коренната 
директория на 
системата, а 
относителен - от 
единия файл до 
другия. 
 Когато файла е в друга 
директория: 
include ("../files/content.php"); 
Или 
include 
("/home/www/files/content.php"); 
 Когато е на отдалечен сървър 
include ("http://www.server.com/content.php"); 
11.12.14 5
Функцията- require () 
 според официалната документация на PHP, това не 
е функция, а езикова конструкция; 
 последица от този факт е, че не връща стойност - 
т.е. не можете да проверите дали включването на 
допълнителния файл е било успешно или не; 
 кодът първо се обработва (парсва) и чак след това 
изпълнява. 
 Важна е следната особеност - ако имате грешка на 
последния ред от кода си, той може да не се 
изпълни изобщо, нито ред от него, защото може да 
се появи грешка при обработването - Parse error . 
11.12.14 6
Пример_2 – 
включваният файл не съществува 
../uroci/t4/indext42.php 
<HTML> 
<BODY> 
<h2> 
<?php // Това е index42.php 
echo "Поздрав : <br>"; 
$name="Иван"; 
$ip=getenv('REMOTE_ADDR'); 
include ("content.php"); // 
файлът не съществува 
echo "<h1>Добре дошъл в сайта! 
</h1> <br>"; 
?> 
</h2> 
</BODY> 
</HTML> 
- Изпълнението продължава 
../uroci/t4/indext42_r.php 
<?php // Това е index42_r.php 
echo "Поздрав : <br>"; 
$name="Иван"; 
$ip=getenv('REMOTE_ADDR'); 
require("content.php"); // файлът 
не съществува 
echo "<h1>Добре дошъл в сайта! 
</h1> <br>"; 
?> 
- Изпълнението спира 
11.12.14 7
2.Избягване на 
повторенията 
 При по-сложни включвания на файлове 
един в друг, може да се получи 
неколкократно повтаряне на кода на един 
и същи файл; 
 Това най-често води до грешки - или в 
обработката или в логиката на изпълнението; 
 Предотвратяване чрез: 
include_once() 
и 
require_once(). 
11.12.14 8
Изпълними файлове 
Така скриптът ще се изпълни на 
отдалечения сървър, а в нашия 
файл ще се включи резултатът 
от това изпълнение - в случая 
изображение на банер и линк 
към съответен сайт. 
 Съществува разликата между включване на файл 
от отдалечен сървър и на файл от локалната 
машина: 
 да включим в текущата страница perl скрипт за банерна 
ротация - banner.cgi; 
 Ако той се намира на друг сървър, можем да направим 
включването така: 
<?php 
// Включване на банер 
include ("http://www.server.php/banner.cgi? 
page=$_SERVER[‘PHP_SELF’]"); 
echo "<br>Добре дошъл в сайта!<br>"; 
?> 
11.12.14 9
 При опит по този 
начин да извикаме 
локален файл, 
резултатът ще бъде 
друг. 
 ../uroci/t4/ex43.php 
<?php 
// Включване на банер 
$page=$_SERVER[‘PHP_SELF’]; 
include("cgi.cgi"); 
echo "<br>Добре дошъл в сайта!<br>"; 
?> 
При изпълнението - на екрана ще 
се изпише изходния код на CGI 
скрипта, а не резултатът от 
неговото изпълнение 
11.12.14 10
Функцията -- virtual () --само 
за Apache 
 По този начин можете да изпълнявате различни видове файлове в 
PHP скриптовете си, но трябва да запомните, че не можете 
да използвате virtual () за PHP файлове. 
../ login/ex44.php 
<?php 
// Включване на банер –изпълнява се само със сървър Apache 
//$page=$_SERVER[‘PHP_SELF’]; 
echo "това(ок) е от файла cgi.cgi:-----------> "; 
virtual("cgi.cgi"); 
echo "<br>Добре дошъл в сайта!<br>"; 
?> 
//ако банерната система е написана на PHP, то използването на virtual 
() ще върне грешка – за това трябва да използвате include () или 
require () 
11.12.14 11
3.Примерен сайт 
За да илюстрираме на практика използването на функциите: 
Нека съставим малък сайт. 
Сайтът ще се състои от няколко страници с еднакъв външен 
вид - т.е. еднакви горна и долна част, както и еднакво 
навигационно меню. 
Сайтовете, правени по тази схема могат да се управляват 
лесно и са приятелски към потребителите, защото не им 
поднасят "изненади" на всяка страница - като променено 
местоположение на менюто или различна цветова схема. 
Страниците в примерния сайт ще се състоят от 4 части - 
header.html, footer.php, menu.php и съответното съдържание 
за всяка от тях. 
11.12.14 12
Примерен сайт(2) 
 header.html ; 
 menu.php; 
 footer.php ; 
 once.php; main.php и include.php; 
 index.php. 
11.12.14 13

More Related Content

Viewers also liked

Hardware implementation of 3 d dct compressed and digitally watermarked video
Hardware implementation of 3 d dct compressed and digitally watermarked videoHardware implementation of 3 d dct compressed and digitally watermarked video
Hardware implementation of 3 d dct compressed and digitally watermarked videoIAEME Publication
 
05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...
05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...
05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...Iolar
 
Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....
Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....
Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....Zákony pre ľudí
 
Four switch three phase brushless dc motor drive for hybrid vehicles
Four switch three phase brushless dc motor drive for hybrid vehiclesFour switch three phase brushless dc motor drive for hybrid vehicles
Four switch three phase brushless dc motor drive for hybrid vehiclesIAEME Publication
 
1 hrly gs ch 01 solar system part 2
1 hrly gs ch 01 solar system part 21 hrly gs ch 01 solar system part 2
1 hrly gs ch 01 solar system part 2azmatmengal
 
Power evaluation of adiabatic logic circuits in 45 nm technology
Power evaluation of adiabatic logic circuits in 45 nm technologyPower evaluation of adiabatic logic circuits in 45 nm technology
Power evaluation of adiabatic logic circuits in 45 nm technologyIAEME Publication
 
Power Point for West Bengal College
Power Point for West Bengal College Power Point for West Bengal College
Power Point for West Bengal College West Bengal Events
 
Effect of Geometric Modifications on the Performance of Vortex Tube - A Review
Effect of Geometric Modifications on the Performance of Vortex Tube - A ReviewEffect of Geometric Modifications on the Performance of Vortex Tube - A Review
Effect of Geometric Modifications on the Performance of Vortex Tube - A ReviewIJERA Editor
 
Хроника событий. День 1.
Хроника событий. День 1.Хроника событий. День 1.
Хроника событий. День 1.Tagir Sagitov
 

Viewers also liked (12)

Hardware implementation of 3 d dct compressed and digitally watermarked video
Hardware implementation of 3 d dct compressed and digitally watermarked videoHardware implementation of 3 d dct compressed and digitally watermarked video
Hardware implementation of 3 d dct compressed and digitally watermarked video
 
05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...
05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...
05,06/25 EPSKO-PURANSKI BRAHMANIZAM - tečaj: INDIJSKE RELIGIJE I FILOZOFSKI S...
 
Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....
Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....
Živnostenský zákon 2015 (Slovak version) Zákon o živnostenskom podnikaní 1.1....
 
Hasil pengamatan termokimia
Hasil pengamatan termokimiaHasil pengamatan termokimia
Hasil pengamatan termokimia
 
Four switch three phase brushless dc motor drive for hybrid vehicles
Four switch three phase brushless dc motor drive for hybrid vehiclesFour switch three phase brushless dc motor drive for hybrid vehicles
Four switch three phase brushless dc motor drive for hybrid vehicles
 
1 hrly gs ch 01 solar system part 2
1 hrly gs ch 01 solar system part 21 hrly gs ch 01 solar system part 2
1 hrly gs ch 01 solar system part 2
 
Power evaluation of adiabatic logic circuits in 45 nm technology
Power evaluation of adiabatic logic circuits in 45 nm technologyPower evaluation of adiabatic logic circuits in 45 nm technology
Power evaluation of adiabatic logic circuits in 45 nm technology
 
sapi di tangkep
sapi di tangkepsapi di tangkep
sapi di tangkep
 
Power Point for West Bengal College
Power Point for West Bengal College Power Point for West Bengal College
Power Point for West Bengal College
 
Effect of Geometric Modifications on the Performance of Vortex Tube - A Review
Effect of Geometric Modifications on the Performance of Vortex Tube - A ReviewEffect of Geometric Modifications on the Performance of Vortex Tube - A Review
Effect of Geometric Modifications on the Performance of Vortex Tube - A Review
 
Man
Man Man
Man
 
Хроника событий. День 1.
Хроника событий. День 1.Хроника событий. День 1.
Хроника событий. День 1.
 

Similar to B4 t4 include_files

Php security
Php securityPhp security
Php securityphristov
 
Защита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в ИнтернетЗащита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в Интернетeismail
 
Kursova 116679
Kursova 116679Kursova 116679
Kursova 116679superazo
 
Защита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияЗащита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияNikolay Milkov
 
The better PHP API (BG)
The better PHP API (BG)The better PHP API (BG)
The better PHP API (BG)boen_robot
 
Drupal security lecture
Drupal security lectureDrupal security lecture
Drupal security lectureslide9991
 
Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011IBS Bulgaria
 
Web and WS based Embedded Systems
Web and WS based Embedded SystemsWeb and WS based Embedded Systems
Web and WS based Embedded SystemsNikolay Kakanakov
 
VarnaConf Blue/Green Deployments with Docker, HAProxy and Consul
VarnaConf Blue/Green Deployments with Docker, HAProxy and ConsulVarnaConf Blue/Green Deployments with Docker, HAProxy and Consul
VarnaConf Blue/Green Deployments with Docker, HAProxy and Consulzeridon
 
Python choreographe NAOqi Framework
Python choreographe NAOqi FrameworkPython choreographe NAOqi Framework
Python choreographe NAOqi FrameworkAtelier for robotics
 

Similar to B4 t4 include_files (20)

Php security
Php securityPhp security
Php security
 
B1 t1 php_basics
B1 t1 php_basicsB1 t1 php_basics
B1 t1 php_basics
 
B8 t8 files
B8 t8 filesB8 t8 files
B8 t8 files
 
B8 t8 files
B8 t8 filesB8 t8 files
B8 t8 files
 
Webloz2011
Webloz2011Webloz2011
Webloz2011
 
Drupal Security
Drupal SecurityDrupal Security
Drupal Security
 
B3 t3 cookies
B3 t3 cookiesB3 t3 cookies
B3 t3 cookies
 
B3 t3 cookies
B3 t3 cookiesB3 t3 cookies
B3 t3 cookies
 
Защита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в ИнтернетЗащита при създаване на PHP-приложения в Интернет
Защита при създаване на PHP-приложения в Интернет
 
Kursova 116679
Kursova 116679Kursova 116679
Kursova 116679
 
Защита при създаването на PHP-приложения
Защита при създаването на PHP-приложенияЗащита при създаването на PHP-приложения
Защита при създаването на PHP-приложения
 
The better PHP API (BG)
The better PHP API (BG)The better PHP API (BG)
The better PHP API (BG)
 
Drupal security lecture
Drupal security lectureDrupal security lecture
Drupal security lecture
 
B6 t6 errors
B6 t6 errorsB6 t6 errors
B6 t6 errors
 
B6 t6 errors
B6 t6 errorsB6 t6 errors
B6 t6 errors
 
8
88
8
 
Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011Lotus Domino Admin Blast: LCTY 2011
Lotus Domino Admin Blast: LCTY 2011
 
Web and WS based Embedded Systems
Web and WS based Embedded SystemsWeb and WS based Embedded Systems
Web and WS based Embedded Systems
 
VarnaConf Blue/Green Deployments with Docker, HAProxy and Consul
VarnaConf Blue/Green Deployments with Docker, HAProxy and ConsulVarnaConf Blue/Green Deployments with Docker, HAProxy and Consul
VarnaConf Blue/Green Deployments with Docker, HAProxy and Consul
 
Python choreographe NAOqi Framework
Python choreographe NAOqi FrameworkPython choreographe NAOqi Framework
Python choreographe NAOqi Framework
 

More from Asiya Petrova

More from Asiya Petrova (12)

B7 t7 arrays
B7 t7 arraysB7 t7 arrays
B7 t7 arrays
 
B5 t5 if_else_for_while
B5 t5 if_else_for_whileB5 t5 if_else_for_while
B5 t5 if_else_for_while
 
B2 t2 variables
B2 t2 variablesB2 t2 variables
B2 t2 variables
 
B9 t9 db_my_sql
B9 t9 db_my_sqlB9 t9 db_my_sql
B9 t9 db_my_sql
 
A1 install xampp
A1 install xamppA1 install xampp
A1 install xampp
 
B9 t9 db_my_sql
B9 t9 db_my_sqlB9 t9 db_my_sql
B9 t9 db_my_sql
 
B7 t7 arrays
B7 t7 arraysB7 t7 arrays
B7 t7 arrays
 
B5 t5 if_else_for_while
B5 t5 if_else_for_whileB5 t5 if_else_for_while
B5 t5 if_else_for_while
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 
A1 install xampp
A1 install xamppA1 install xampp
A1 install xampp
 
B2 t2 variables
B2 t2 variablesB2 t2 variables
B2 t2 variables
 
B4 t4 include_files
B4 t4 include_filesB4 t4 include_files
B4 t4 include_files
 

B4 t4 include_files

  • 2. Съдържание 1.Включване на файлове 2.Избягване на повторенията 3.Примерен сайт  Разглеждат се начините за изграждане на динамично съдържание и многократното използване на един и същи код в сайтовете. 11.12.14 2
  • 3. 1. Включване на файлове  Функцията - include():  приема като параметър пътят (абсолютен или относителен) до файла, който искаме да включим;  включеният чрез include() файл като код, се намира на реда, в който се намира функцията - "вгражда" в тялото на текущия документ;  всички променливи, които са дефинирани до появата на функцията ще са достъпни и за кода на включени файл;  файла се загражда с - ”” ;  Ако извикате PHP файл от отдалечен сървър, трябва да сте сигурен, че скриптът може да бъде изпълнен там. 11.12.14 3
  • 4. Пример_1 ../uroci/t4/indext41.php <HTML> <BODY> <h2> <?php // Това е index41.php $name="Иван"; $ip=getenv('REMOTE_ADDR') 11.12.14 4 ; include ("content41.php"); ?> </h2> </BODY> </HTML> ../uroci/t4/content41.php <?php // Това е content41.php echo "Здравейте, $name! <br>Вашият IP адрес е $ip"; ?> Двата файла са в една директория
  • 5. Особености  Пътищата до даден файл могат да са абсолютни и относителни;  Абсолютен е пътят от коренната директория на системата, а относителен - от единия файл до другия.  Когато файла е в друга директория: include ("../files/content.php"); Или include ("/home/www/files/content.php");  Когато е на отдалечен сървър include ("http://www.server.com/content.php"); 11.12.14 5
  • 6. Функцията- require ()  според официалната документация на PHP, това не е функция, а езикова конструкция;  последица от този факт е, че не връща стойност - т.е. не можете да проверите дали включването на допълнителния файл е било успешно или не;  кодът първо се обработва (парсва) и чак след това изпълнява.  Важна е следната особеност - ако имате грешка на последния ред от кода си, той може да не се изпълни изобщо, нито ред от него, защото може да се появи грешка при обработването - Parse error . 11.12.14 6
  • 7. Пример_2 – включваният файл не съществува ../uroci/t4/indext42.php <HTML> <BODY> <h2> <?php // Това е index42.php echo "Поздрав : <br>"; $name="Иван"; $ip=getenv('REMOTE_ADDR'); include ("content.php"); // файлът не съществува echo "<h1>Добре дошъл в сайта! </h1> <br>"; ?> </h2> </BODY> </HTML> - Изпълнението продължава ../uroci/t4/indext42_r.php <?php // Това е index42_r.php echo "Поздрав : <br>"; $name="Иван"; $ip=getenv('REMOTE_ADDR'); require("content.php"); // файлът не съществува echo "<h1>Добре дошъл в сайта! </h1> <br>"; ?> - Изпълнението спира 11.12.14 7
  • 8. 2.Избягване на повторенията  При по-сложни включвания на файлове един в друг, може да се получи неколкократно повтаряне на кода на един и същи файл;  Това най-често води до грешки - или в обработката или в логиката на изпълнението;  Предотвратяване чрез: include_once() и require_once(). 11.12.14 8
  • 9. Изпълними файлове Така скриптът ще се изпълни на отдалечения сървър, а в нашия файл ще се включи резултатът от това изпълнение - в случая изображение на банер и линк към съответен сайт.  Съществува разликата между включване на файл от отдалечен сървър и на файл от локалната машина:  да включим в текущата страница perl скрипт за банерна ротация - banner.cgi;  Ако той се намира на друг сървър, можем да направим включването така: <?php // Включване на банер include ("http://www.server.php/banner.cgi? page=$_SERVER[‘PHP_SELF’]"); echo "<br>Добре дошъл в сайта!<br>"; ?> 11.12.14 9
  • 10.  При опит по този начин да извикаме локален файл, резултатът ще бъде друг.  ../uroci/t4/ex43.php <?php // Включване на банер $page=$_SERVER[‘PHP_SELF’]; include("cgi.cgi"); echo "<br>Добре дошъл в сайта!<br>"; ?> При изпълнението - на екрана ще се изпише изходния код на CGI скрипта, а не резултатът от неговото изпълнение 11.12.14 10
  • 11. Функцията -- virtual () --само за Apache  По този начин можете да изпълнявате различни видове файлове в PHP скриптовете си, но трябва да запомните, че не можете да използвате virtual () за PHP файлове. ../ login/ex44.php <?php // Включване на банер –изпълнява се само със сървър Apache //$page=$_SERVER[‘PHP_SELF’]; echo "това(ок) е от файла cgi.cgi:-----------> "; virtual("cgi.cgi"); echo "<br>Добре дошъл в сайта!<br>"; ?> //ако банерната система е написана на PHP, то използването на virtual () ще върне грешка – за това трябва да използвате include () или require () 11.12.14 11
  • 12. 3.Примерен сайт За да илюстрираме на практика използването на функциите: Нека съставим малък сайт. Сайтът ще се състои от няколко страници с еднакъв външен вид - т.е. еднакви горна и долна част, както и еднакво навигационно меню. Сайтовете, правени по тази схема могат да се управляват лесно и са приятелски към потребителите, защото не им поднасят "изненади" на всяка страница - като променено местоположение на менюто или различна цветова схема. Страниците в примерния сайт ще се състоят от 4 части - header.html, footer.php, menu.php и съответното съдържание за всяка от тях. 11.12.14 12
  • 13. Примерен сайт(2)  header.html ;  menu.php;  footer.php ;  once.php; main.php и include.php;  index.php. 11.12.14 13