esterio, сочувствую. Бывают в Линуксе неприятные сюрпризы. Однако, кто что бы не говорил, сколько бы раз я не обжигался, я все равно под рутом и в ssh и на ftp А с iptables мне все так с рук сходит т.к. сервер виртуальный, на OpenVZ. Насколько я понимаю, именно поэтому скидываются правила iptables после ребута. Если мне не изменяет память, на железном сервере правила iptables после ребута никуда не сбрасываются.
а тут вы не правы. разница между require и include в том, что include если не найдет файл то выкинет warning, а require - fatal error
php.su пишет:
В отличие от конструкции require конструкция include позволяет включать файлы в код PHP скрипта во время выполнения сценария.
Поясним принципиальную разницу между конструкциями require и include на конкретном практическом примере. Создадим 10 файлов с именами 1.txt, 2.txt и так далее до 10.txt, содержимое этих файлов - просто десятичные цифры 1, 2 ...… 10 (по одной цифре в каждом файле). Создадим такой сценарий PHP:
// Создаем цикл, в теле которого конструкция include
for($i=1;$i<=10;$i++){
include"$i.txt";
}
// Включили десять файлов: 1.txt, 2.txt, 3.txt ... 10.txt
// Результат - вывод 12345678910
?>
php.su пишет:
В результате мы получим вывод, состоящий из 10 цифр: "12345678910". Из этого мы можем слелать вывод, что каждый из файлов был включен по одному разу прямо во время выполнения цикла! Если мы поставим теперь вместо include require, то сценарий сгенерирует критическую ошибку (fatal error). Сравните результат.
PHP преобразует сценарий во внутреннее представление, анализируя строки сценария по очереди, пока не доходит до конструкции include. Дойдя до include, PHP прекращает транслировать сценарий и переключается на указанный в include файл. Таким образом из-за подобного поведения транслятора, быстродействие сценария снижается, особенно при большом колличестве включаемых с помощью include файлов. С require таких проблем нет, поскольку файлы с помощью require включаются до выполнения сценария, то есть на момент трансляции файл уже включен в сценарий.
Таким образом, целесообразнее использовать конструкцию require там, где не требуется динамическое включение файлов в сценарий, а конструкцию include использовать только с целью динамического включения файлов в код PHP скрипта.
Простите, докопался до истины:
хабр пишет:
Файлы, подключенные через require подключает файлы на начале этапа выполнения, а include во время интерпретации. И если include находится внутри блока if, и условие не выполнилось, то файл не будет подключен.
Это было верно только для версий PHP < 4.0.2. Сейчас же эти две конструкции отличаются только реакцией на отсутсвие файла.
не стоит списывать со счетов тот факт, что аудитория не всегда имеет русский язык родным
Так они тоже могут воспользоваться тем же Microsoft Word (или каким-нибудь онлайн сервисом) Когда я общаюсь с иностранными гражданами, я несколько раз проверяю то, что я им пишу. У меня довольно паршивый английский, и, тем не менее, никто ещё не жаловался.
esterio, я за Вами такого не наблюдал )) Вас всегда приятно читать
Здравствуйте, уважаемая администрация. Предлагаю ввести бан пользователей, которые не владеют элементарным русским языком. Думаю, не одного меня раздражает читать такое или такое. Неужели можно настолько не знать язык? У меня официально даже школьного аттестата нет не руках, после 9 класса я пошел в техникум, который на втором курсе бросил, а в школе был троечником, и даже при всех этих печальных обстоятельствах я не делаю такого колоссального количества ошибок в сообщениях. Неужели так сложно уделить немного больше времени для составления предложения, чтобы потенциальному отвечающему было комфортно читать? В общем, я за то, чтобы банить таких товарищей Первый раз на день, второй на пять (если не понял), третий навсегда.
P.S. Было бы несправедливо, если бы у плохо знающих русский язык людей не было возможности писать на форум, но ведь есть же Microsoft Word и ему подобные, которые подсвечивают и исправляют ошибки (у меня и браузер это делает). Пусть не все ошибки будут подсвечены и исправлены, но это уже будет вполне читабельный текст.
Мораль: если человек пишет абы-как, значит, ему лень, и он проявляет крайнее неуважение к читающим.
Master_pascal, я искренне желаю Вам глубоких познаний в PHP и программировании в целом. Но по мне, так Ваши вопросы говорят о том, что Вам нужны не знания а сиюминутный результат каких-то Ваших замыслов, и что Вам совершенно не интересно учиться.
Хочу зарезервировать все имена переменных, начинающиеся с $›, под системные переменные движка, который пишу. Таких будет немало, а париться, что случайно перезапишешь переменную движка, не придется. Да и вообще, видно будет что такая-то переменная - внутренняя. Файлы все в utf-8, PHP отлично работает с такими переменными. Вопрос эстетического характера, использовать или отказаться? Спасибо.