へなちょこクラスでしたが、PEARのSystem.phpを参考に変更してみました。
function _makeDir($dirName)
{
$dirstack = array();
while (!@is_dir($dirName) && $dirName != DIRECTORY_SEPARATOR) {
array_unshift($dirstack, $dirName);
$dirName = dirname($dirName);
}
while ($newdir = array_shift($dirstack)) {
mkdir($newdir);
}
}