Quelque chose d'un peu plus universel car cela vient sur google. Alors que les détails sont plus précis, le titre de cette question est de plus universel.
/**
* recursively create a long directory path
*/
function createPath($path) {
if (is_dir($path)) return true;
$prev_path = substr($path, 0, strrpos($path, '/', -2) + 1 );
$return = createPath($prev_path);
return ($return && is_writable($prev_path)) ? mkdir($path) : false;
}
Cela va prendre un chemin, peut-être avec une longue chaîne de l'incréé répertoires, et continuer jusqu'à un répertoire jusqu'à ce qu'il arrive à un répertoire existant. Alors il va tenter de créer le répertoire suivant dans ce répertoire, et continuer jusqu'à ce qu'il est créé à tous les répertoires. Elle retourne true en cas de succès.
Pourrait être amélioré en fournissant un arrêt de niveau jusqu'à ce qu'il échoue si elle va au-delà du dossier de l'utilisateur ou de quelque chose et en incluant les autorisations.