PHP - No se crea carpeta con mkdir() en php

 
Vista:
Imágen de perfil de Bladimir

No se crea carpeta con mkdir() en php

Publicado por Bladimir (88 intervenciones) el 16/02/2015 21:59:11
Estoy desarrollando una aplicación que crea una carpeta pulsando un botón si se cumple una determinada condición. el tema es que se crea la carpeta utilizando el mkdir () y no entiendo por qué. incluso la página HTML me dice que se ha creado la carpeta, pero esto no aparece en el directorio. No entiendo el error. el código es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<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>
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No se crea carpeta con mkdir() en php

Publicado por xve (6935 intervenciones) el 17/02/2015 07:55:05
Hola Bladimir, tal como tienes el código, siempre te mostrar que la carpeta fue creada, aunque no se haya creado...

Prueba así:
1
2
3
4
if(mkdir($estructura))
{
    echo "<p>La carpeta fue creada</p>";
}
ya que mkdir devuelve true o false dependiendo de si se ha podido crear la carpeta.

No se que sistema operativo estas utilizando, pero puede ser que no la cree porque el usuario que ejecuta el servidor web, no tenga permisos para crear dicha carpeta.

por ejemplo, si utilizas apache, utiliza el usuario www-data para ejecutar el php... por lo que ese usuario tendría que tener permisos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Bladimir

No se crea carpeta con mkdir() en php

Publicado por Bladimir (88 intervenciones) el 17/02/2015 13:47:22
Hola. Gracias por la respuesta. Estoy usando apache2 en debían 7 y Eclipse. Me imagino que el asunto es un problema de permisos pero ¿como hago para darle a mi usuario esos permisos? Gracias de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No se crea carpeta con mkdir() en php

Publicado por xve (6935 intervenciones) el 17/02/2015 15:38:04
Si utilizas debian 7, el usuario por defecto de Apache es www-data...

Puedes hacer varias cosas...
1.- modificar el usuario o grupo del apache
En en archivo /etc/apache2/envvars

2.- dar permisos de escritura para todos los usuarios en tu carpeta
1
2
cd /home
chmod a+w bladimir

Ten en cuenta que dar permisos de escritura a todo el mundo no es lo mas recomendable por temas de seguridad, pero te funcionara.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Bladimir

No se crea carpeta con mkdir() en php

Publicado por Bladimir (88 intervenciones) el 17/02/2015 18:27:55
Gracias XVE. Funciono perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar