Biraz daha evrensel bir şey bu google gelir beri. Ayrıntılar daha spesifik olmakla birlikte, bu sorunun başlık daha evrenseldir.
/**
* 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;
}
Bu muhtemelen yaratılmamış dizinleri uzun bir zincir ile, bir yol almak, ve varolan bir dizine alır kadar bir dizin kadar devam edecek. Sonra o dizinde bir sonraki dizin oluşturma girişimi, ve tüm dizinleri yarattı kadar devam edecektir. Eğer başarılı olursa true döndürür.
Kullanıcı klasöre veya bir şey ötesinde ve izinleri dahil ederek giderse sadece başarısız böylece bir durdurma seviyesi sağlanarak geliştirilebilir.