2015-02-16 5 views
0

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

<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> 

Thank.

+0

Когда вы говорите «но это не отображается в каталоге», вы проверяете серверную или клиентскую сторону? Имеет ли пользователь php права на каталог для создания подкаталогов? – Niols

+0

вы должны указать третьи params recursive true для mkdir –

+0

Вы также можете поделиться этой ошибкой. Предположительно, у вас нет доступа на запись к '/ home/bladimir'. Проверьте права доступа к этой папке, в частности, доступ к записи. –

ответ

0

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

Перейти к папке/частный/и т.д./apache2

Открыть httpd.conf

Найти

User _www 
Group _www 

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

User <YOUR LOGIN USERNAME> 

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

+0

0777 по умолчанию, даже если вы не укажете его, будет принято по умолчанию –

+0

просто попробуйте приведенный выше код, замените его кодом и скажите, работает ли он –

+0

Сервер локально расположен на моем компьютере. Добавить третий рекурсивный параметр не работает. Предлагаемый код не работает. – user3068256

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

Код Nirav не работает. – user3068256

0

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

Смежные вопросы