Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Записать в файл PHP код.


Автор: DiNaMiK 1.12.2006, 12:38
Задача такова как записать в файл PHP код. Не HTML!

Записать в файл название переменых и их значение легко а вот как записать в файл код, который состоит из нескольких циклов.

Автор: Guedda 1.12.2006, 12:42
Не понятен вопрос. Я думаю, что тебе просто напросто надо открыть твой файл на чтение, и добавить в назначенный файл те строки кода, которые тебе нужны.

Автор: PARROT 1.12.2006, 12:44
Можно обрисовать задачу пояснее. Как записать? Для чего? 

Автор: DiNaMiK 1.12.2006, 12:46
Ну допустим я сделаю как ты посоветовал:
Код

$code = "
if( $a == $b )
{
echo 'A == B';
";

        $fp = @fopen("aa.php", "w");
    $zapis = @fwrite($fp, $code);
    @fclose ($fd);

Что выйдет тогда?

Автор: -=Ustas=- 1.12.2006, 13:10
DiNaMiK, бери код в одинарные ковычки чтоб он не парсился PHP.

Автор: DiNaMiK 1.12.2006, 13:14
-=Ustas=-, 

Даже если так то всё равно он будет писать ошибку из за скобок Цикла.

Автор: -=Ustas=- 1.12.2006, 13:17
Код

<?php

$code = '
<?php

if ( $a == $b ) {
    echo \'A == B\';
} 

for ( $i = 0; $i < 10; $i++ ) {
    echo \'Iteration --> \'.$i.\'<br>\';
}

?>
';

$fp = fopen( 'write.php', 'w' );
flock( $fp, LOCK_EX );
fputs( $fp, $code );
flock( $fp, LOCK_UN );
fclose( $fp );

?>


И дальше таким же макаром.

Добавлено @ 13:19 
Цитата(DiNaMiK @  1.12.2006,  13:14 Найти цитируемый пост)
Даже если так то всё равно он будет писать ошибку из за скобок Цикла

Обоснуй. И попробуй мой пример.

Автор: PARROT 1.12.2006, 13:21
Ну наверное услови надо все таки закрыть скобкой, а то оно не выполнится и будут ошибки.
Может тебе просто подсветка кода нужна? 
И зачем столько собак ставить? Толку от них?  

Автор: DiNaMiK 1.12.2006, 13:34
-=Ustas=-, всё спасибо помогло. 

А не работало потому что я кавычки значения переменой делал двойные
Код

$code = " ";

Типо так smile

Автор: FredFrield 2.12.2006, 20:42
вродь проблема и решена, но мож легче было б писать так 
Код

$php = <<<HTML
<?php
//..............................
?>
HTML;

$fp = fopen( 'write.php', 'w' );    
flock( $fp, LOCK_EX );    
fputs( $fp, $php );    
flock( $fp, LOCK_UN );    
fclose( $fp );



он бы просто записал текст как <?php......?> в файл write.php 
и без мароки с \'......\'

Автор: Mal Hack 2.12.2006, 20:52
В апострофах код будит интерпретироваться...
HEREDOC (<<<EOS .... EOS;) вам в помощь или экранизация $.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)