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.SU » » Вопросы новичков » создание папки с помощью php

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

1. данила - 07 Января, 2012 - 15:16:33 - перейти к сообщению
привет всем еще раз, извиняюсь за надоедание и глупые вопросы. Если что я уже учу php.
есть такой код который папки создает но он почему то создает папки к которым нет доступа по просту говоря.
подскажите как сделать так чтоб он нормально создавал папки с нормальными правами доступа? пробовал использовать chmod() но эфекта не кокого((
вот этот скрипт который создает папки:
PHP:
скопировать код в буфер обмена
  1. mkdir("   /*  имя папки которую надо создать  /*    ");

если что то это я закоментировал.
заранее спасибо за помощь)
2. LIME - 07 Января, 2012 - 15:26:38 - перейти к сообщению
путь какойто указываешь?
покажи пример нормальный без коментариев
3. данила - 07 Января, 2012 - 15:28:29 - перейти к сообщению


папку то создает но потом эту папку не открывает. Не смотря на то что она есть(((
4. snikers987 - 07 Января, 2012 - 15:48:48 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2. mkdir($_POST["dir"], 0777); // хотя по умолчанию вроде и должна создаваться папка с этими правами, если второй аргумент не указан
  3.  


А как вы поняли что нет доступа к папке?
5. данила - 07 Января, 2012 - 15:52:53 - перейти к сообщению
и так я тоже пробовал( там тогда вообще папка без прав создается(
6. snikers987 - 07 Января, 2012 - 15:54:38 - перейти к сообщению
данила пишет:
и так я тоже пробовал( там тогда вообще папка без прав создается(


не неси бред, на какой ОС php ?
7. данила - 07 Января, 2012 - 15:58:36 - перейти к сообщению
не знаю. мне знакомый хостинг дал. ну там он вроде бы всегда ее на последнюю обновляет...
8. PATCH - 07 Января, 2012 - 17:46:04 - перейти к сообщению
что приходит в $_POST['dir'] выведит перед созданием папки echo $_POST['dir']
9. данила - 07 Января, 2012 - 22:47:03 - перейти к сообщению
да папку создает но она создоеться без доступа к ней и потомо еще геморой её удалять
10. Panoptik - 07 Января, 2012 - 23:43:42 - перейти к сообщению
в системе может стоять маска. выведите
11. данила - 08 Января, 2012 - 11:06:17 - перейти к сообщению
окей попробую.
12. Corsair11 - 06 Июня, 2013 - 13:32:01 - перейти к сообщению
Странно, а у меня все работает, к папкам есть нормальный доступ без барахления,
но у меня есть один вопрос - можно ли сделать, чтобы папка создавалась с другими папками или файлами внутри себя?


PS: Код, чтобы после создания папки скрипт открывал ее:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. mkdir($_POST["dir"]);
  3. print("<!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset='utf-8' http-equiv='refresh' content='1; URL=");
  7. print($_POST["dir"]);
  8. print("'>");
  9. print("</head>");
  10. print("<body>
  11. </body>");
  12. print("</html>");
  13. ?>
  14.  



А потом форма для создания папки:


CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset='utf-8'>
  5. <title>Создание новой папки</title>
  6. </head>
  7. <body bgcolor='#EDEDED'>
  8. <form method='post' action='directorycreater.php'>
  9. Имя папки:
  10. <br>
  11. <br>
  12. <input type='text' name='dir'>
  13. <br>
  14. <input type='submit' value='Создать папку'>
  15. </form>
  16. </body>
  17. </html>




Вот демонстрация:
13. DeepVarvar - 06 Июня, 2013 - 13:56:51 - перейти к сообщению
Corsair11 - будьте аккуратнее, за подъем старых тем можно и штраф отхватить Подмигивание

Да, можно конечно создать вложенную структуру.
Но каждый элемент такой структуры, будь то папка или файл, надо будет создавать поочередно.
Сперва создав главную папку, затем вложенные в неё, и тд..
Что-то типа:
PHP:
скопировать код в буфер обмена
  1. mkdir("parentdir");
  2. mkdir("parentdir/moredir1");
  3. mkdir("parentdir/moredir2");
  4. mkdir("parentdir/moredir1/innerdir");
  5. touch("parentdir/moredir1/innerdir/file.txt");
14. EuGen - 06 Июня, 2013 - 14:03:34 - перейти к сообщению
DeepVarvar
PHP:
скопировать код в буфер обмена
  1. mkdir('parentdir/moredir1/innerdir/', 0777, true);

?
15. DeepVarvar - 06 Июня, 2013 - 14:05:23 - перейти к сообщению
EuGen, верно подмечено.

 

Powered by ExBB FM 1.0 RC1