Crear carpetas en Windows con PHP y asignarle permisos

CódigoPHPWindows
197K views
No hay comentarios

Crear carpetas en Windows con PHP y asignarle permisos

En esta publicaciones explicamos como crear carpetas en Windows con PHP y asignarle permisos de forma optima y que realmente funcione para que no salgan error de lectura o escritura en los archivos guardados en estas carpetas.

Crear carpeta con PHP y asignarle permisos

La forma rápida de crear una carpeta con PHP es con el siguiente código:

$path = "c:/ruta o carpeta/";
mkdir($path, 0777, true);

Validar si la carpeta existe o crearla

Esta claro que este código funciona muy bien en Linux.

También podemos usar líneas de código para validar si la carpeta existe o sino podemos crearla mediante ejecutamos el código:

$path = "c:/ruta o carpeta/";
if (!file_exists($path)) {
mkdir($path, 0777, true);
}

Crear carpetas en Windows con PHP y asignarle permisos con comando de CMD

Pero si intentamos esto en Windows la carpeta se va a crear pero no podremos leer los archivos que se guarden dentro ya que no tendrán los permisos de lectura y escritura porque el chmod 0777 que agregamos en el código no funciona en Windows.

Lo que se debe hacer en Windows es que después de crear la carpeta sin asignarle ningún chmod debemos ejecutar mediante PHP el código que usamos normalmente para asignar permisos de lectura y escritura a las carpetas en CMD el cual es icacls.

El código que funciona sería el siguiente:

$path = "c:/ruta o carpeta/";
if (!file_exists($path)) {
mkdir($path);
}
exec($cmd . "icacls c:/ruta o carpeta/ /grant Everyone:F /t");

Una vez que se ejecuta la linea de codigo:

exec($cmd . "icacls c:/ruta o carpeta/ /grant Everyone:F /t");

Este le asigna los permisos de lectura y escritura para la carpeta y los archivos que se guarden en ella.

En este enlace pueden leer mas sobre los permisos icacls cmd en windows https://docs.microsoft.com/es-mx/windows-server/administration/windows-commands/icacls

Si tiene alguna duda puede dejar un comentario en esta publicación para aclararla.

También comentar si quiere publicar un tutorial.

Saludos!!

Tags: , ,
También podría gustarte:
¿Te gusta este artículo? ¡Compartir con tus amigos!

Lea también:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar

Menú
× ¿Cómo podemos ayudarte?