2015-11-16 4 views
1

Я строю CMS, и я застрял в этой проблеме. Мне нужно написать простой файл php для каждой страницы, и мне нужно передать идентификатор и функцию include. Вот мой код, чтобы записать файл:Использование PHP fwrite для написания php-файла

$filename=mysqli_fetch_array($query))['pagename']; 
    $fw=fopen("../".$filename,'w',true); 
    fwrite("<php 
       \$id = $id; 
       include('admin/renderpage.php'); 
      ?>"); 
    fclose($fw); 

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

<php 
      $id = 2; 
      include('admin/renderpage.php'); 
      ?> 
+0

Не ответ, но зачем вы это делаете? Какое значение имеют эти почти идентичные файлы, чем-то вроде перезаписи URL-адресов? – Steve

+0

, потому что весь мой html структурирован в базе данных, страница рендеринга выводит html, и для начала требуется идентификатор меню – Cr1xus

+0

Да, конечно. Но это именно то, для чего требуется переписывание URL. Вы можете добавить правила, чтобы направить '/ my-awsome-page /' на 'admin/renderpage.php? Id = 2', чтобы у вас была такая же функциональность без всех дублированных файлов. – Steve

ответ

2

Try:

$filename=mysqli_fetch_array($query))['pagename']; 
$fw=fopen("../".$filename,'w',true); 
fwrite($fw, "<?php 
      \$id = $id; 
      include('admin/renderpage.php'); 
     ?>"); 
fclose($fw); 

РНР открытым тег: <?php не <php. PHP tags

+0

Омг, я такой тупой! Спасибо !, кстати, вы забыли $ fw в fwrite ($ fw, ...). – Cr1xus

+0

Извините, я только видел тег. Редактировать! :) – Tobias