Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: include & require
 
 автор: ddhvvn   (04.08.2006 в 19:01)   письмо автору
 
 

Помогите советом. Чем лучше пользоваться: require, include или require_once. И чем они вообще отличаются?

   
 
 автор: RV   (04.08.2006 в 19:14)   письмо автору
 
   для: ddhvvn   (04.08.2006 в 19:01)
 

include и require подключают файл, но если файл не найден, то require сгенерирует fatal error, а include просто ничего не подключит.
require_once и include_once делают что и выше, но проверяют были ли до этого подключения этого файла. и если были то не подключают

   
 
 автор: BAHO   (04.08.2006 в 19:56)   письмо автору
 
   для: RV   (04.08.2006 в 19:14)
 

include тоже вызот фаталку...
отличие в том, что require используется для подключения в начале выполнения скрипта. а include в по ходу выполнения.... ИМХО определение из книжки ;)

   
 
 автор: RV   (04.08.2006 в 20:09)   письмо автору
 
   для: BAHO   (04.08.2006 в 19:56)
 

читайте официальные источники.
include и require делают одно и тоже и одинаково.
инклуд фаталку не вызывает

   
 
 автор: BAHO   (04.08.2006 в 20:28)   письмо автору
 
   для: RV   (04.08.2006 в 20:09)
 

a вы попробуйте. всё таки вызывает....
код:

<?
include("index2.php");
?>     

Ошибка, правда не фаталку :):

Warning: main(index2.php) [function.main]: failed to open stream: No such file or directory in z:\home\sc\one\index.php on line 2

Warning: main() [function.include]: Failed opening 'index2.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in z:\home\sc\one\index.php on line 2


<?
require("index2.php");
?>
[/code]
Ошибка:

Warning: main(index2.php) [function.main]: failed to open stream: No such file or directory in z:\home\sc\one\index.php on line 2

Fatal error: main() [function.require]: Failed opening required 'index2.php' (include_path='.;/usr/local/php5/PEAR') in z:\home\sc\one\index.php on line 2



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

   
 
 автор: RV   (04.08.2006 в 20:32)   письмо автору
 
   для: BAHO   (04.08.2006 в 20:28)
 

а вы понимаете в чем разница между fatal error и warning ? нет, не только в названиях.

<?
error_reporting
(0);
include (
'ddd.php');
echo 
"DDD";
?>


<?
error_reporting
(0);
require (
'ddd.php');
echo 
"DDD";
?>

что, собственно говоря, и написано в официальных источниках

   
 
 автор: BAHO   (04.08.2006 в 21:08)   письмо автору
 
   для: RV   (04.08.2006 в 20:32)
 

да знаю конечно, не тупой.....

помнится, в php 4 require и include всё же отличались не только фаталом и варнинг

   
 
 автор: Zn   (04.08.2006 в 23:52)   письмо автору
 
   для: BAHO   (04.08.2006 в 21:08)
 

require обрабатывается на этапе предпросмотра кода, и содержимое включаемого файла вставлятся (если файл присутствует) в любом случае. А include уже обрабатывается после предпросмотра, и эта команда уже может и не быть исполнена.
например:

i = 2;
if (i > 3) {
 include ('text.inc.php');
}

здесь файл включен не будет.

i = 2;
if (i > 3) {
 require ('text.inc.php');
}

здесь же он будет включен в любом случае.

   
 
 автор: RV   (05.08.2006 в 04:44)   письмо автору
 
   для: Zn   (04.08.2006 в 23:52)
 

это было до версии 4.0.2.
в более новых версиях все как я написал

   
 
 автор: ddhvvn   (05.08.2006 в 10:31)   письмо автору
 
   для: RV   (05.08.2006 в 04:44)
 

Спасибо всем за исчерпывающие ответы.

А вот следующий вопрос.


$param1=$value;
include("get_param.php");

//дальше начало из get_param.php

if (empty($param1)) exit("Параметр пустой!");


У меня всегда выводится "Параметр пустой!". Почему?

   
 
 автор: JIEXA   (05.08.2006 в 11:15)   письмо автору
 
   для: ddhvvn   (05.08.2006 в 10:31)
 

Попробуйте так:
$param1='hello world!'; 
include("get_param.php"); 

//дальше начало из get_param.php 

if (empty($param1)) exit("Параметр пустой!");

   
 
 автор: ddhvvn   (05.08.2006 в 13:16)   письмо автору
 
   для: JIEXA   (05.08.2006 в 11:15)
 

То же самое...

И опять у меня вопрос. Если я обращусь к какой-то странице с помощью cURL, как мне получить ответ с этой страницы (ответом будут POST данные)?

   
 
 автор: ddhvvn   (05.08.2006 в 15:27)   письмо автору
 
   для: ddhvvn   (05.08.2006 в 13:16)
 

Ну что я так и не дождусь ответа? Неужели нет знающего человека?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования