note 72116 deleted from function.mkdir by nlopess
| From: | nlopess@php.net | Date: | Wed, 03 Jan 2007 14:35:39 +0000 |
| Subject: | note 72116 deleted from function.mkdir by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-121243@lists.php.net to get a copy of this message | ||
Note Submitter: Microphage71
----
/* Créé un chemin complet
* $root : chemin de base accessible
* $path : suite de dossier à créer séparés par un /
* $mode : mode octale des dossier à créer
*/
function makeDir ($root, $path, $mode)
{
$r = trim ($root);
if (substr ($r, strlen ($r) - 1, 1) != '/')
{
$r .= '/';
}
if (is_dir ($r))
{
$p = trim ($path);
if (strlen ($p) > 0)
{
if (substr ($p, 0, 1) == '/')
{
$p = substr ($p, 1);
}
$p = trim ($p);
if (strlen ($p) > 0)
{
if (substr ($p, strlen ($p) - 1, 1) == '/')
{
$p = substr ($p, 0, strlen ($p) - 1);
}
$tab = explode ('/', $p);
$error = false;
foreach ($tab as $t)
{
$r .= $t;
if (is_dir ($r.'/'))
{
$error = true;
break;
}
else
{
if (substr (phpversion (), 0, 1) == '5')
{
mkdir ($r.'/', $mode);
}
else
{
mkdir ($r, $mode);
}
$r .= '/';
}
}
return !$error;
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
ex 1:
-----
makeDir ('./', 'bob/L/eponge', 0644);
crééra une arborescence:
o ./ (dossier courant)
+ bob
+ L
+ eponge