Решил тут сваять небольшой сайтик под свои нужды... пишу модуль: Код (Text): $bfr=filesize("files/blok.inc"); //Проверяем размер файла if ($bfr<>""){ //Если файл не пустой $blokfile=fopen ("files/blok.inc","r"); //Открыть файл только для чтения, поместить указатель в начало файла $a=fread($blokfile,$bfr); //Считываем файл в переменную $a fclose; //Закрываем файл }; $per=explode("<!s>",$a); //Делим строку на подстроки по маркеру занося в масив $l=sizeof($per); //Проверяем количество элементов масива $l=$l-1; //Уменьшаем значение данное значение на единицу for ($g=0; $g<$l; $g++){ $qwer=explode("<!m>",$per[$g]); //Делим строку на подстроки по маркеру занося в масив if ($qwer[2]>0){ //Если блок входит в состав активных $nazvaniebloka=$qwer[1]; //Активируем его название include $qwer[0]; //Запускаем выполнение заданного блока include $oformlenie."blok.inc"; //Активируем блок с текущими параметрами }; }; строка include $qwer[0];, отробатывая в цикле первый раз, работает правильно, но при повторных циклах выдаёт ошибки: Подскажите в чём дело и как быть...
Вы инклуд закомментируйте, а вместо него сделайте вывод и посмотрие, что выводит. Наверняка таких файлов не существует.
Проверял... существуют... Да и как они могут не существовать если она их адреса из файла считывает куда я их прописал
Нет, исключено! Всё перепроверил прежде чем запостился. Собственно файл из которого он считывает выглядит вот так: bloki/menu/glav.inc<!m>Меню<!m>1<!s> bloki/menu1/glav.inc<!m>Меню 1<!m>1<!s> bloki/menu2/glav.inc<!m>Меню 2<!m>1<!s> Я его пока тока пишу и тестю. Как видите напутать нереально... Что ещё может быть?
filesize возвращает int, лучше стравнивать $bfr != 0 После } точку с запятой можно не ставить. так от записи в файл они не появятся на диске. Судя по этому блоку функция 2 раза отработала, а сообщение выдала на 3м файле попробуйте сделать так и посмотрите, что будет.
Ну это делоя ясное... Но вы меня не оняли... Есть файл, в котором прописаны существующие блоки (регистр своего рода) и вот это и есть содержимое этого файла: Функция которую я пишу считывает из него информацию о существующих в системе блоках, анализирует и выводит их на страницу. Просто других блоков я пока что не написал, а потому для тестирования просто скопировал папку menu (два раза) и дописал в конце имён единичку и двойку, ну и как следствие добавил две нижние строки в выше приведённое содержание файла регистрирующего блоки. Нет, функция отработала 1 раз нормально, а два следующих выдала единтичные ошибки
У меня вчера была такая же ситуация. Всё одинаково всё отлично но сервер не видит файл в упор. Помогло банальное удаление файла и создание его заново (с тем же именем! что странно) в ручную, ну и соответсвенно перед этим код скопировать в буфер обмена. Правда я так и не понял что произошло!
Купите нормальную книгу по пхп, например Котерова, код просто ужасный, как и сам подход Какая проблема стоит изначально?