Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как создать папку и задать права доступа к ней?
 
 автор: Владимир55   (13.03.2007 в 10:16)   письмо автору
 
 

Скрипт находится в корне сайта, и если мне требуется создать файл с именем no-str.txt в папке tmp, также расположенной в корне, то я так и пишу:

$file = fopen ("tmp/no-str.txt", "w") ;

А для установления прав доступа пишу так:
chmod("tmp/no-str.txt", 0777);

А если мне нужно создать не файл, а папку, то как это сделать? Предположим, что нужно в корне сайта создать папку, имя которой находится в файле $name_papka - как это осуществить? И как задать права доступа к ней?

==============
Вероятно, прежде надо вручную установить права доступа к папке самого сайта на уровне 777. Так? Или это не обязательно? Или установить права доступа к папке скрипта можно изнутри этой папки с помощью самого скрипта?

   
 
 автор: Trianon   (13.03.2007 в 10:34)   письмо автору
 
   для: Владимир55   (13.03.2007 в 10:16)
 

>файл с именем no-str.txt в папке tmp, также расположенной в корне, то я так и пишу:
>$file = fopen ("tmp/no-str.txt", "w") ;

это создание файла в каталоге tmp, который сам живет в текущем каталоге.
если каталог tmp расположен в корне, то писать надо так:


$file = fopen ("/tmp/no-str.txt", "w") ; 

>А если мне нужно создать не файл, а папку, то как это сделать?

mkdir('/tmp/dir, 0777);

   
 
 автор: Владимир55   (13.03.2007 в 11:02)   письмо автору
 
   для: Trianon   (13.03.2007 в 10:34)
 

= mkdir('/tmp/dir, 0777); =

Эта конструкция не работает. При её внесении файл вообще не открывается, словно это синтаксическая ошибка!

А как вообще понять эту инструкцию? Содать в папке tmp, находящейся в корне сайта, папку с именем dir, права доступа к которой 0777? Такая сущность или что-то другое?

   
 
 автор: Владимир55   (13.03.2007 в 11:18)   письмо автору
 
   для: Владимир55   (13.03.2007 в 11:02)
 

Как можно предположить, в коде mkdir('/tmp/dir, 0777); отсутствует закрывающая кавычка после dir. Если её поставить, то файл открывается.

Однако директория не создается!

Попробовал сделать папку dir в корне сайта. Вот так:

mkdir("/dir", 0777);

Не работает!

Что бы это значило?

======
Права доступа к корневой папке сайта 777.

   
 
 автор: Unkind   (13.03.2007 в 11:52)   письмо автору
 
   для: Владимир55   (13.03.2007 в 11:18)
 

Корень сайта и просто корень (root) - разные вещи.

/ - root
. - текущая папка
.. - папка уровнем выше
=>
./dir/ или dir - папка "dir" находится в ТЕКУЩЕЙ папке.
../dir/ - папка "dir" находится уровнем выше.
/dir/ - от корня диска.

P.S. Корень сайта можете узнать из $_SERVER['DOCUMENT_ROOT']

   
 
 автор: Владимир55   (13.03.2007 в 12:08)   письмо автору
 
   для: Unkind   (13.03.2007 в 11:52)
 

То есть, для создания папки dir в текущем каталоге нужна инструкция

mkdir("dir", 0777);

Теперь работает! Но! - права доступа получаются 755! Хотя установлено 0777. Почему же так?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования