Para crear una carpeta si aún no existe
Teniendo en cuenta el entorno de la pregunta.
- WordPress
- Servidor de alojamiento web.
- Suponiendo que su Linux no Windows ejecute PHP.
Y citando: http://php.net/manual/en/function.mkdir.php
bool mkdir (string $ pathname [, int $ mode = 0777 [, bool $ recursive = FALSE [, resource $ context]]])
Manual dice que el único parámetro requerido es el $pathname
!
entonces, simplemente podemos codificar:
<?php
error_reporting(0);
if(!mkdir('wp-content/uploads')){
// todo
}
?>
Explicación:
No tenemos que pasar ningún parámetro o verificar si existe la carpeta o incluso pasar el parámetro del modo a menos que sea necesario; por las siguientes razones:
- El comando creará la carpeta con el permiso 0755 (permiso predeterminado de la carpeta de alojamiento compartido) o 0777 el predeterminado del comando.
mode
se ignora en el Alojamiento de Windows que ejecuta PHP .
- El
mkdir
comando ya tiene un checker incorporado si la carpeta existe; entonces necesitamos verificar el retorno solo True | False; y no es un error, es solo una advertencia, y la Advertencia está deshabilitada en los servidores de alojamiento de forma predeterminada.
- Según la velocidad, esto es más rápido si la advertencia está deshabilitada.
Esta es solo otra forma de analizar la pregunta y no reclamar una solución mejor o más óptima.
Probado en PHP7, Servidor de producción, Linux
if (!file_exists('path/to/directory')) { mkdir('path/to/directory', 0777, true); }