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 :: Функция file_get_contents

 PHP.SU

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


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

> Описание: Функция file_get_contents
kazmikro
Отправлено: 24 Мая, 2011 - 21:56:51
Post Id



Гость


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


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




Мммм : Как исправить ошибку

PHP:
скопировать код в буфер обмена
  1.  
  2. [b]Index.php[/b]
  3.  
  4. $news_kz = file_get_contents("mods/news.php");
  5.  
  6. $args['news_kz'] = $news_kz;
  7.  
  8. function tpl_parser($tpl,$args) {
  9.    
  10.     $tpl = file_get_contents($tpl);
  11.  
  12.      if (count($args) > 0) {
  13.     foreach ($args as $k => $v) $tpl = str_replace("{".$k."}",$v,$tpl);
  14.    
  15.     }
  16.   return $tpl;
  17.   }
  18.  
  19. echo tpl_parser($tpl,$args);
  20.  
  21.  


Вот собственно сам файл news.php

PHP:
скопировать код в буфер обмена
  1.  
  2. include ("../system/config.php");
  3.  
  4. $result = mysql_query ("SELECT * FROM news WHERE cat='1' LIMIT 5",$db);
  5. $myrow = mysql_fetch_array($result);
  6.  
  7. do {
  8.    
  9.     PRINTF ("
  10.    <a href='/news.php?id=%s'>%s</a><br>
  11.    ",$myrow['id'],$myrow['title']);
  12.    
  13. }
  14.  
  15. WHILE ($myrow = mysql_fetch_array($result));
  16.  



Я пытался реплейснуть файл с циклом в виде {news_kz} Результат такой

"
%s
",$myrow['id'],$myrow['title']); } WHILE ($myrow = mysql_fetch_array($result)); ?>
"

и тут возникает вопрос ? как засунуть файл news.php в {news_kz} чтоб не было такой ошибки
 
 Top
OrmaJever Модератор
Отправлено: 24 Мая, 2011 - 22:08:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




если чесн то написано что попало.
kazmikro пишет:
$news_kz = file_get_contents("mods/news.php");

здесь вы тупо пытаетесь прочитать сам код. И что это даст?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
kazmikro
Отправлено: 24 Мая, 2011 - 22:20:15
Post Id



Гость


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


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




Ну я только учащийся php , буду рад , исправь меня ! Хорошо
 
 Top
OrmaJever Модератор
Отправлено: 24 Мая, 2011 - 22:30:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




я не нял на что вам нужно заменить {news_kz} ?
Догадываюсь что на результат цыкла?
PHP:
скопировать код в буфер обмена
  1.     PRINTF ("
  2.    <a href='/news.php?id=%s'>%s</a><br>
  3.    ",$myrow['id'],$myrow['title']);


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
kazmikro
Отправлено: 24 Мая, 2011 - 22:33:42
Post Id



Гость


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


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




да
 
 Top
OrmaJever Модератор
Отправлено: 24 Мая, 2011 - 23:06:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




поменяйте
PHP:
скопировать код в буфер обмена
  1. $news_kz = file_get_contents("mods/news.php");
  2.  
  3. $args['news_kz'] = $news_kz;
  4.  

на
PHP:
скопировать код в буфер обмена
  1. include "mods/news.php";
  2.  
  3. $args['news_kz'] = $result;


а в news.php замените цыкл на такой
PHP:
скопировать код в буфер обмена
  1. $result = '';
  2. WHILE ($myrow = mysql_fetch_array($result))
  3. {    
  4.    $result .= "<a href='/news.php?id={$myrow['id']}'>{,$myrow['title']}</a><br>";
  5.    
  6. }
  7.  

(Отредактировано автором: 24 Мая, 2011 - 23:06:27)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
komprenda
Отправлено: 24 Мая, 2011 - 23:39:25
Post Id


Гость


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


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




kazmikro пишет:
Мммм : Как исправить ошибку


Вообщем шаблонизатор основанный на тупо str_replace не канает(со временет тебе понадобятся циклы и условные операторы, и придётся написать свой смарти, либо использовать сторонние). Вообщем используй сам php в качестве шаблонизатора(об этом я уже писал http://forum.php.su/topic.php?fo...87431#1306187431 )

(Отредактировано автором: 24 Мая, 2011 - 23:40:25)

 
 Top
kazmikro
Отправлено: 26 Мая, 2011 - 15:26:59
Post Id



Гость


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


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




а в news.php замените цыкл на такой

PHP:
скопировать код в буфер обмена
  1. $result = '';
  2. WHILE ($myrow = mysql_fetch_array($result))
  3. {    
  4.    $result .= "<a href='/news.php?id={$myrow['id']}'>{,$myrow['title']}</a><br>";
  5.    
  6. }


Не могу разобраться
(Добавление)
там какая то ошибка в синтаксисе
(Добавление)
всё нашёл
(Добавление)
Пожалуйста обьясни вот это

PHP:
скопировать код в буфер обмена
  1.  
  2. $result = '';
  3. WHILE ($myrow = mysql_fetch_array($result))
  4. {    
  5.    $result .= "<a href='/news.php?id={$myrow['id']}'>{,$myrow['title']}</a><br>";
  6.    
  7. }
  8.  


не могу понять зачем ты в самом начале присваеваешь пустоту переменной $result ? и почему стоит точка перед знаком =
 
 Top
OrmaJever Модератор
Отправлено: 26 Мая, 2011 - 15:46:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




kazmikro пишет:
е могу понять зачем ты в самом начале присваеваешь пустоту переменной $result

Без этой строки будет ошибка о несуществующей переменой
kazmikro пишет:
и почему стоит точка перед знаком =

http://php.su/learnphp/operators/?string читать, читать и ещё раз читать


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
kazmikro
Отправлено: 26 Мая, 2011 - 16:44:05
Post Id



Гость


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


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




Понятно разобрался )))
 
 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