Создание папки при регистрации по id с содержанием файлов

Рейтинг: 1Ответов: 1Опубликовано: 20.12.2014

Всем добра!

Основопологаясь на тему Создание папки при регистрации по id , после мною его успешной реализации возник ниже описанный вопрос.

Как сделать так, чтобы вместе с каталогом создавалось еще его содержимое... файлы в нем, такие как *.php, .hcacces, *.html с глобальным внутренним содержимым, которое задавалось при регистрации?
...

(пример для непонятых -1)

-при регистрации совместно созданием папки, в папку нового пользователя сохраняются файлы ([например] из основного источника "Основного каталога" такие как *.php с содержанием информации, которая была введена в форме при регистрации пользователя.

(пример для непонятых -2a Пошагово)

1)Действие:Создал пользователя ivan

2|Функции скрипта при регистрации

перваяФ-создалась папка ../user/ivan последоватеьно в каталоге../ivan создался файл ../ivan/index.php содержащие в себе свойство файла ../user/default/default1.php, но уже с теми параметрами, что были введены при регистрации, такие как =--> (Параметры выделенны **)

<?php
if($_SESSION["login"] == *ivan*) {
?>
      <form action="http://site.ru/user/*ivan*/save.php" method="post" enctype="multipart/form-data">
</form>
<?php
}
?>

Функция вторая - таким же способом в той же папке того же пользователя ../user/ivan из основного каталога (с файлом) ../user/default/default2.php создаётся файл ../user/ivan/save.php с параметрами содержимого того же, что задавался при регистрации такие как =-->

    <?php
.
..
...
    <meta http-equiv="Refresh" content="1; URL=http://site/user/*ivan*/">
..
..
...
    blahblah($_BLAHBLAH["blahblah"], "www/home/site/user/*ivan*/".$_BLAHBLAH["blahblah"]);
...
..
.
    ?>

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

P.S. Не бывает нерешимых задач!

P.P.S. А также спешу вас проинформировать, что у меня появлялись идеи решения этой задачи, одна из которых являлась выгруз информации из базы посредством sql запросов, что сразу отпало, так как в этом нужно было бы дольше копаться .

(Я уже безуспешно применял свои идеи, и поэтому пришел к вам за советом.)

Спасибо всем за внимание.

Обновление

...вот мне и нужна та функция которая отвечает за редактирование содержимого файла как .htacces тк и index.php .

А функцию создания дефолтного файла в папку нового юзера я нашел- делается через FOPEN примерно так...

$document_root = $config['/www/site/user/default/']; //создать из папки

$file="$/www/site/user/ivan/$folder/index.php"; //создать тут (в нового юзера)

unlink($file); // Delete old file

if( !file_exists($file))

{

  $fp = fopen($file, "w"); // ("r" - Считывать "w" - Создавать "a" - добовлять к тексту), мы создаем файл

  fwrite($fp, "$items2");

  fclose($fp);

}

Ответы

▲ 1

Вам не нужно создавать такие папки, исходя из описанной задачи. Почему:

  1. сложно будет поменять разом всем пользователям их index.php и save.php, а сделать это вам обязательно захочется, причём очень скоро, и не один раз;
  2. как я понимаю, вы собираетесь принимать файлы от пользователей, и хранить их в этих же папках — вас сломает любой школьник;

Кто виноват, что делать и как жить дальше

  1. имена и данные пользователей хранить в БД;
  2. все запросы глубже корневой папки обрабатывать единственным корневым index.php – это называется "front controller". Разберитесь, как для этого настроить ваш веб сервер. В итоге все запросы типа site.ru/user/ivan/save внутри будут переделаны в запрос site.ru/index.php?user=ivan&action=save;
  3. примерно то же можно сделать с загруженными файлами: запретить исполнение скриптов в папках с этими файлами, и отдавать их , переписав запрос site.ru/users/ivan/files/blablabla.zip на /files/uploads/ivan/blablabla.zip.

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