Не могу создать папку в php

0

Я разрабатываю приложение, которое создает папку, нажимая кнопку, если выполняется определенное условие. проблема в том, что папка создается с помощью mkdir() и не понимает, почему. даже html-страница сообщает мне, что папка была создана, но это не отображается в каталоге. Я не понимаю ошибки. код выглядит следующим образом:

<html>
 <head>
   <title>RHM</title> 
   <style type="text/css">
      h1 { color: red; font-family: arial; font-size: 3em; font-weight: bolder; }
      p { color: navy; font-family: Verdana; }
   </style>
 </head>

 <body>
     <h1 align="center">INGRESE CONTRASE&Ntilde;A</h1>

     <form  action="#" method="post" >
        <p align="center"> <input type="password" name="contras" style="width:200px;height:50px;background-color:yellow;color:blue;font-size:14pt;font-family: Comic Sans MS;text-align:center;padding-right:10px;"/></p>
        <p align="center"  ><input type="submit" value="Entrar" /></p>

     <?php
        $Contraseña=$_POST['contras'];
        $estructura = "/home/bladimir/RHMbd";
        if ($Contraseña==1) {
            mkdir($estructura);
            echo "<p>La carpeta fue creada</p>";
        }
     ?>

     </form>
  </body>
</html>

Спасибо.

  • 0
    Когда вы говорите «но это не появляется в каталоге», вы проверяете серверную или клиентскую сторону? Имеет ли пользователь php права на каталог для создания подкаталогов?
  • 0
    вы должны указать третьи параметры рекурсивный true для mkdir
Показать ещё 2 комментария
Теги:
folder
mkdir

3 ответа

0

Я решил это, предоставив соответствующие разрешения пользователю с помощью следующей команды в консоли: chmod a + w bladimir. Спасибо за все.

0
<?php
    if (isset($_POST['contras']))
    {
        $Contraseña = $_POST['contras'];
        $estructura = "c:://home/bladimir/RHMbd";

        $dir = dirname($estructura);

        if (!is_dir($dir))
        {
            var_dump(mkdir($dir, 0777, true));
            if ($Contraseña == '1')
            {
                echo 'fsdf';
                mkdir($estructura);
                echo "<p>La carpeta fue creada</p>";
            }
        }
    }

    ?>
  • 1
    Было бы полезно включить некоторые объяснения.
  • 0
    Код Нирава не работает.
0

Я предполагаю, что у вас нет разрешения на создание каталога.

Перейдите в папку /private/etc/apache2

Открыть httpd.conf

найти

User _www 
Group _www

Измените имя пользователя:

User <YOUR LOGIN USERNAME>

Перезапустите apache.

  • 0
    0777 по умолчанию, даже если вы не укажете, он будет принят по умолчанию
  • 0
    просто попробуйте приведенный выше код, замените его своим кодом и скажите мне, работает ли он
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню