Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с файлом и парсинг строк на PHP

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ВитГо
Отправлено: 12 Января, 2012 - 17:08:07
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Я новичек в ПХП, и скорее всего проблема в мелочи, на найти ее не получается Недовольство, огорчение

нужно считать файл и при обнаружении токена <?cms ... ?> выполнить определенные действия.

я написал следующий код

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. include "patch.php";    # подключаем пути
  4.  
  5.         $fp = fopen($templates_dir.'test.html', 'r');
  6.  
  7.         if ($fp) { # открытие файла удалось
  8.                 while (!feof($fp)) { # считываем построчно файл
  9.                         $mytext = fgets($fp, 999);
  10.  
  11.                         $start=0;
  12.                         $starttoken='<?cms';
  13.                         $pos = strpos($mytext, $starttoken, $start); # ищем управляющий токен
  14.  
  15.                         if ($pos !== false) {   # найден управляющий токен!
  16.                         # строка вида "<?cms "
  17.                         # далее должно идти указание на модуль 'module="'
  18.                         # название модуля для загрузки 'symplemenu'
  19.                         # закрывающая кавычка - '"'
  20.                         # имя таблицы настроек модуля 'id="top"'
  21.                         # закрывающая строка вида "?>"
  22.  
  23.                                 # напечатаем строку с позиции $start до найденного токена
  24.                                 echo substr($mytext, $start, ($pos-$start));
  25.  
  26.                                 # найдем закрывающую строку "?>"
  27.                                 $stoptoken='?>';
  28.                                 $endpos=strpos($mytext, $stoptoken, $start);
  29.  
  30.  
  31.                                 # после обработки возьмем позицию конечного токена как начального
  32.                                 $start=$endpos;
  33.                         }
  34.                         else  echo $mytext;     # если управляющих токенов не найдено то просто печатаем строку из файла
  35.                 }
  36.         }
  37. fclose($fp);
  38.  
  39. ?>
  40.  


в файле patch.php просто указание на пути к файлам

файл считывается (это я проверил постепенно увеличивая функционал)
но получаю ошибку
Parse error: syntax error, unexpected $end in C:\Apache2.2\htdocs\mycms\index.php on line 38
причем переменную $end я переименовал в $endpos (подумал может быть системная какая нить) - но ошибка осталась...

что делаю не так?
 
 Top
Plusminuz
Отправлено: 12 Января, 2012 - 17:23:49
Post Id



Частый гость


Покинул форум
Сообщений всего: 156
Дата рег-ции: Апр. 2011  
Откуда: Россия


Помог: 2 раз(а)




ВитГо пишет:
# закрывающая строка вида "?>"

закрывающий тег, выполнение скрипта прекращается

кстати, даже по подсветке синтаксиса это видно

(Отредактировано автором: 12 Января, 2012 - 17:24:55)



-----
учусь... Улыбка
 
 Top
ВитГо
Отправлено: 12 Января, 2012 - 17:31:34
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Plusminuz пишет:
ВитГо пишет:
# закрывающая строка вида "?>"

закрывающий тег, выполнение скрипта прекращается

кстати, даже по подсветке синтаксиса это видно


опс... точно!!

спасибо!
 
 Top
lamozavrik
Отправлено: 12 Января, 2012 - 17:33:32
Post Id



Частый гость


Покинул форум
Сообщений всего: 161
Дата рег-ции: Дек. 2011  


Помог: 4 раз(а)




21 и 26 строки закрывающий тег ?>


-----
Ударим крепким сном по мукам совести!
 
 Top
ВитГо
Отправлено: 12 Января, 2012 - 19:01:54
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




lamozavrik пишет:
21 и 26 строки закрывающий тег ?>


уже понял свою ошибку - слишком люблю комментировать свой код Не понял
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB