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 :: Как записать html+php код в файл на php

 PHP.SU

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


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

> Без описания
netclan
Отправлено: 26 Ноября, 2012 - 13:15:30
Post Id



Гость


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


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




Здравствуйте! У меня есть скрипт который выводит таблицу, собственно вот эта часть кода на php:
PHP:
скопировать код в буфер обмена
  1.  
  2. echo "<div class=\"CSSTableGenerator\" >";     
  3. echo "<table border=0>";       
  4. for ($i=0; $i<count($arr_info[1]); $i++) {
  5. if (in_array($arr_info[1], $arr_info)) {
  6. echo "<tr><td colspan=\"4\">".$arr_info[1][$i]."</td></tr>";
  7. echo "<tr><td>Время</td>";
  8. echo "<td>Название</td>";
  9. echo "<td>Стоимость</td></tr>";
  10. } else {
  11. }
  12. echo "<tr><td>".$arr_info[2][$i]."</td>";
  13. echo "<td>".$arr_info[3][$i]."</td>";
  14. echo "<td>".$arr_info[4][$i]."</td></tr>";
  15.    }
  16. echo "</table>";
  17. echo "</div>";      
  18.  

Я хочу данную часть кода записать в файл для дальнейшего подключения в нужном месте и выводе, для этого нашёл пример:
PHP:
скопировать код в буфер обмена
  1.  
  2. $h = fopen("my_file.html","w");
  3. $text = "Этот текст запишем в файл.";
  4. if (fwrite($h,$text))
  5.   echo "Запись прошла успешно";
  6. else
  7.   echo "Произошла ошибка при записи данных";
  8. fclose($h);
  9.  

Вопрос в том, как вышеуказанную часть кода записать в файл, не могу сообразить как их связать? Подскажите кто может!


-----
O_o
 
 Top
DelphinPRO
Отправлено: 26 Ноября, 2012 - 13:31:57
Post Id



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


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


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




ахренеть. а просто файлик с разметкой создать не судьба? а потом просто его инклудить.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
netclan
Отправлено: 26 Ноября, 2012 - 13:36:13
Post Id



Гость


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


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




DelphinPRO пишет:
ахренеть. а просто файлик с разметкой создать не судьба? а потом просто его инклудить.

Не не судьба, эта информация парсится с другого сайта и парсер будет выполняться каждый раз при заходе посетителя, а так я хочу запускать его по крону пару раз и всё перезаписывать в файл! Из статичного файла потом подключать нужную информацию!


-----
O_o
 
 Top
DelphinPRO
Отправлено: 26 Ноября, 2012 - 13:36:18
Post Id



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


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


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




короче, пишете такой файлик:

table.php
CODE (htmlphp):
скопировать код в буфер обмена
  1. <div class="CSSTableGenerator">
  2. <table border=0>
  3. <?php for ($i=0; $i<count($arr_info[1]); $i++) { ?>
  4.     <?php if (in_array($arr_info[1], $arr_info)) { ?>
  5.         <tr><td colspan="4"><?= $arr_info[1][$i] ?></td></tr>
  6.         <tr><td>Время</td>
  7.         <td>Название</td>
  8.         <td>Стоимость</td></tr>
  9.     <?php } else { ?>
  10. <?php } ?>
  11.     <tr>
  12.         <td><?= $arr_info[2][$i] ?></td>
  13.         <td><?= $arr_info[3][$i] ?></td>
  14.         <td><?= $arr_info[4][$i] ?></td>
  15.     </tr>
  16. <?php } ?>
  17. </table>
  18. </div>


и инклудите там, где он у вас должен быть


(Добавление)
netclan пишет:
Не не судьба, эта информация парсится с другого сайта


тьфу, блин. Уточнять сразу надо.

Всё равно. Что у вас парсится? Данные или разметка? Разметка наверняка статичная. Так что делайте статичный файл шаблона.

Цитата:
$h = fopen("my_file.html","w");
$text = "Этот текст запишем в файл.";
if (fwrite($h,$text))
echo "Запись прошла успешно";
else
echo "Произошла ошибка при записи данных";
fclose($h);


к чему эти сложности, можно ужать до одной строки кода



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
netclan
Отправлено: 26 Ноября, 2012 - 13:46:49
Post Id



Гость


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


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




[quote=DelphinPRO]
Всё равно. Что у вас парсится? Данные или разметка? Разметка наверняка статичная. Так что делайте статичный файл шаблона.
[/quote]
Там у меня добавляются ячейки при выводе расписания, т.е. там будет столько ячеек, сколько на другом сайте, а их колличество постоянно меняется!
[quote=DelphinPRO]
к чему эти сложности, можно ужать до одной строки кода
[/quote]
Так я и не допру никак, как полученную информацию записать в файл!
(Добавление)
[quote=DelphinPRO][/quote]
Получается в моём случае должно быть так:

и как вы привели шаблон разметки выше:
PHP:
скопировать код в буфер обмена
  1.  
  2.     <div class="CSSTableGenerator">
  3.     <table border=0>
  4.     <?PHP for ($i=0; $i<count($arr_info[1]); $i++) { ?>
  5.         <?PHP if (in_array($arr_info[1], $arr_info)) { ?>
  6.             <tr><td colspan="4"><?= $arr_info[1][$i] ?></td></tr>
  7.             <tr><td>Время</td>
  8.             <td>Название</td>
  9.             <td>Стоимость</td></tr>
  10.         <?PHP } else { ?>
  11.     <?PHP } ?>
  12.         <tr>
  13.             <td><?= $arr_info[2][$i] ?></td>
  14.             <td><?= $arr_info[3][$i] ?></td>
  15.             <td><?= $arr_info[4][$i] ?></td>
  16.         </tr>
  17.     <?PHP } ?>
  18.     </table>
  19.     </div>
  20.  

правильно я понял?


-----
O_o
 
 Top
DelphinPRO
Отправлено: 26 Ноября, 2012 - 14:21:11
Post Id



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


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


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




всё. я понял вашу мысль Улыбка

делаете так:

Этот код выполняется по крону:
PHP:
скопировать код в буфер обмена
  1. // $arr_info = парсер(); // здесь у вас работает парсер
  2.  
  3. include "/путь/к/файлу/table.php";     // заполняем таблицу
  4. // table.php - это шаблон таблицы. Можно код этого файла вставить сюда, вместо инклуда, если хочется
  5. $html = ob_get_clean();  // получаем html этой таблицы
  6.  
  7. // Записываем таблицу в файл
  8. file_put_contents('/путь/к/файлу/table.html', $html);


А так можно подключать статичную таблицу там, где она нужна
PHP:
скопировать код в буфер обмена
  1. include "/путь/к/файлу/table.html";


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
netclan
Отправлено: 26 Ноября, 2012 - 14:39:33
Post Id



Гость


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


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




DelphinPRO пишет:
table.html

Спасибо!
Не подскажите случаем, как в шаблоне убрать вывод пустых ячеек в таблице?


-----
O_o
 
 Top
DelphinPRO
Отправлено: 26 Ноября, 2012 - 19:38:57
Post Id



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


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


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




может дело в этом
colspan="4"
нужно по идее colspan="3"


-----
Чем больше узнаю, тем больше я не знаю.
 
 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