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
Форумы портала PHP.SU :: Версия для печати :: Создание файла php средствами самого php
Форумы портала PHP.SU » » Вопросы новичков » Создание файла php средствами самого php

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

1. Джип - 26 Октября, 2015 - 22:54:57 - перейти к сообщению
Здравствуйте.
Задача: создать файл .php средствами самого php.
Делаю это так:
PHP:
скопировать код в буфер обмена
  1. $code=<<<_END
  2. <?PHP
  3. if(!isset($_SESSION)) {session_start();}
  4. //И так далее
  5. ?>
  6. _END;
  7.  
  8. fwrite('index.php', $code);


На выходе получаем:


Как правильно?
2. Tyoma5891 - 26 Октября, 2015 - 23:01:43 - перейти к сообщению
просто гениально, и само задание, и решение! прорыв в современном программировании..
придраться не к чему единственный вопрос, а какое таинство заложено в коде файла file.php? Улыбка
3. Джип - 26 Октября, 2015 - 23:04:42 - перейти к сообщению
Tyoma5891 пишет:
просто гениально, и само задание, и решение! прорыв в современном программировании..
придраться не к чему единственный вопрос, а какое таинство заложено в коде файла file.php? Улыбка


Какого file.php? Не понял
Так как правильно создать файл?
4. andrewkard - 26 Октября, 2015 - 23:12:29 - перейти к сообщению
Джип
А зачем Вам код текущего файла в новый?
5. Джип - 26 Октября, 2015 - 23:20:43 - перейти к сообщению
andrewkard пишет:
Джип
А зачем Вам код текущего файла в новый?


Это не совсем текущий, но я вот так заковыристо придумал, что в отдельной папке будет лежать отдельный index.php, к которому можно подключаться минуя index.php корня сайта.
Пусть будет так:
6. Tyoma5891 - 26 Октября, 2015 - 23:24:52 - перейти к сообщению
Джип пишет:
я вот так заковыристо придумал, что в отдельной папке будет лежать отдельный index.php, к которому можно подключаться минуя index.php корня сайта.

просто гениально, и само задание, и решение! прорыв в современном программировании..
придраться не к чему
з.ы. теперь даже вопросов никаких нету!
7. andrewkard - 26 Октября, 2015 - 23:25:37 - перейти к сообщению
что значит
andrewkard пишет:
к которому можно подключаться
?
8. Джип - 26 Октября, 2015 - 23:28:08 - перейти к сообщению
andrewkard пишет:
что значит
andrewkard пишет:
к которому можно подключаться
?


Значит что через адрес http://www[dot]site[dot]ru/folder/index.php
9. andrewkard - 26 Октября, 2015 - 23:34:43 - перейти к сообщению
А зачем тогда создавать файл? Если можно просто через адресную строку?
Джип пишет:
в отдельной папке будет лежать отдельный index.php
10. Джип - 26 Октября, 2015 - 23:38:35 - перейти к сообщению
andrewkard пишет:
А зачем тогда создавать файл? Если можно просто через адресную строку?
Джип пишет:
в отдельной папке будет лежать отдельный index.php


Я псих! Я маньяк! А ты думал? Вот так хочу и всё! Самодур я! Вожжа под хвост попала!
Как правильно это сделать?
11. caballero - 27 Октября, 2015 - 01:20:34 - перейти к сообщению
а проблема какая? записать текст в файл?
что не так с file_put_contents () ?

и про полный путь не забывай
12. Джип - 27 Октября, 2015 - 03:09:41 - перейти к сообщению
caballero пишет:
а проблема какая? записать текст в файл?
что не так с file_put_contents () ?

и про полный путь не забывай


Проблема была в том, что вместо - isset($_SESSION), в файл писалось - isset(Array).

Решилось isset(\$_SESSION) экранированием.
13. DelphinPRO - 27 Октября, 2015 - 03:11:57 - перейти к сообщению
Джип, документацию читать пробовал?
Попробуй, очень помогает.

Цитата:
Heredoc-текст ведет себя так же, как и строка в двойных кавычках, при этом их не имея. Это означает, что вам нет необходимости экранировать кавычки в heredoc, но вы по-прежнему можете использовать вышеперечисленные управляющие последовательности. Переменные обрабатываются, но с применением сложных переменных внутри heredoc нужно быть также внимательным, как и при работе со строками.


http://php.net/manual/ru/languag...types.string.php

Более или менее правильно будет использовать NOWDOC синтаксис, а не экранировать спецсимволы

Цитата:
Nowdoc - это то же самое для строк в одинарных кавычках, что и heredoc для строк в двойных кавычках. Nowdoc похож на heredoc, но внутри него не осуществляется никаких подстановок. Эта конструкция идеальна для внедрения PHP-кода или других больших блоков текста без необходимости его экранирования. В этом он немного похож на SGML-конструкцию <![CDATA[ ]]> тем, что объявляет блок текста, не предназначенный для обработки.


Читать там же.
14. Джип - 27 Октября, 2015 - 03:34:55 - перейти к сообщению
DelphinPRO пишет:
Джип, документацию читать пробовал?
Попробуй, очень помогает.


Не глумиться, там где это не надо, пробовал?
За ссылку спасибо! Собственно такой ответ я и рассчитывал получить!
15. aspect - 27 Октября, 2015 - 05:22:21 - перейти к сообщению
Джип пишет:
DelphinPRO пишет:
Джип, документацию читать пробовал?
Попробуй, очень помогает.


Не глумиться, там где это не надо, пробовал?
За ссылку спасибо! Собственно такой ответ я и рассчитывал получить!


Уважаемый, не заморачивайся. Ты сейчас поиграешься и это пройдет. Просто сделай так, как под спойлером.
Спойлер (Отобразить)

 

Powered by ExBB FM 1.0 RC1