У меня есть веб-сайт, на котором пользователи могут создавать новые «темы». У каждой темы есть папка (пример: www.example.com/chemistry). Я использую mkdir() для создания новой папки, но после того, как она создана, как я могу поместить файлы в папку, чтобы, когда кто-то переходит в папку химии, было что посмотреть? Поскольку я не нашел много информации о том, как это сделать, я предполагаю, что есть более популярный способ.
Используйте mkdir, а затем поместите файлы в папку
Ответы (4)
SO использует CMS? потому что, когда я задал этот вопрос, в URL-адресе появилась «папка» с идентификатором моего вопроса.
В URL-адресе здесь отображается URL. Повторяйте за мной: http://stackoverflow.com/questions/8774143/use-mdir-and-then-put-files-in-the-folder — это URL! У него есть имя хоста, у него есть путь, у него могут быть параметры запроса. В нем нет папок!
По умолчанию на многих веб-серверах URL-адрес сопоставляется с папкой на жестком диске. Но это только один из способов сделать это. При посещении URL-адреса веб-сервер просто получает запрос "дайте мне любой сайт по URL-адресу http://stackoverflow.com/questions/8774143/use-mdir-and-then-put-files-in-the-folder". Веб-сервер может решить ответить на это, просмотрев папку, имя которой соответствует URL-адресу. Или он может просто вызвать программу, дать ей URL-адрес и вернуть любой ответ, который программа выдаст.
Попробуйте узнать о «перезаписи URL» и «красивых URL-адресах» и изучите существующие фреймворки, поскольку почти все фреймворки реализуют это.
mod_rewrite — это обычный способ зайти под веб-сервером Apache.
- person deceze♦; 08.01.2012
вы можете копировать файлы:
copy($source, $desitination);
Загрузка файлов: см. move_uploaded_file
Запись файлов: см. fwrite
PS. Просто сначала проверьте, существует ли папка, например, if (file_exists($dir)) перед вызовом mkdir($dir), иначе вы получите предупреждения, или отключите mkdir(), как это @mkdir(), чтобы отключить все предупреждения
copy('foo', 'bar/foo') Там я скопировал файл в каталог.
- person deceze♦; 08.01.2012
Посмотрите на это: http://php.net/manual/en/function.chdir.php Изменив каталог, вы можете отобразить содержимое папки для своего пользователя.
используйте функцию копировать
copy($source, $dest);
Я не знаю, это ли ты имел в виду
index.htmlиindex.phpобычно поддерживаются по умолчанию, поэтому вы можете создать файл для этого каталога с сообщением типа Hullo Wurld (или чем-то более подходящим). Или вы можете использовать таксономию Drupal или что-то еще. - person Jared Farrish   schedule 08.01.2012