Création répertoire
Posté : 20 oct. 2009, 14:56
Bonjour à tous,
j'ai script php qui doit créer des répertoires sur le serveur, mais cela bloque.
j'ai mon dossier doc_ged et c'est ici que doit être créer automatiquement les répertoires.
mon script
Le problème ce situe sur la création des dossiers sur les enregistrement de ma base de l'élement type.
Le script doit créer le dossier "société" puis dedans les dossiers "type" dans ce même dossier (/société/type)gamme et encore dedans le dossier sgamme.
Dans ma base j'ai deux enregistrement (donc normalement 2 repetoires à créer) il va me créer le premier pas le second,
Si j'enleve dans le script les bout de code pour créer les repertoire gamme et sous gamme, la il me créer bien le second repertoire.
Quel erreurs est-je commis? Quel oublie?
Merci
guigui69
j'ai script php qui doit créer des répertoires sur le serveur, mais cela bloque.
j'ai mon dossier doc_ged et c'est ici que doit être créer automatiquement les répertoires.
mon script
<?php
function IsDir_or_CreateIt($path) {
if(is_dir($path)) {
return true;
}
else
{
if(mkdir($path))
{
return true;
}
else
{
return false;
};
};
}
function creation_rep($dossierdepart)
{
$res0 = mysql_query("SELECT id_societe, nom_societe FROM societe;");
while($row = mysql_fetch_array($res0))
{
$dossier = ''.$dossierdepart.''.$row['id_societe'].'/';
if(IsDir_or_CreateIt($dossier))
{
//echo "deja écréé==>".$dossier."<<<";
}
else
{
$old = umask(0);
mkdir("$dossier", 777);
umask($old);
//echo 'création du dossier'.$dossier.'<br/>';
};
//echo ''.$dossier.'<br/>';
//echo "1";
////////////////////////////////
/////////////////////////
$sql1=mysql_query("select id_type, nom_type FROM type ORDER BY nom_type");
while($row1 = mysql_fetch_array($sql1))
{
//dossier Type
$dossier2 = ''.$dossier.''.$row1["id_type"].'/';
if(IsDir_or_CreateIt($dossier2))
{
echo "deja écréé==>".$dossier2."<<<<br/>";
}
else
{
mkdir("$dossier2", 0777);
echo 'création du dossier'.$dossier2.'<br/>';
};
////////////////////////////////////
///////////////////////////////////////
$sql1=mysql_query("select id_gamme, nom_gamme FROM gamme ORDER BY nom_gamme");
while($row1 = mysql_fetch_array($sql1))
{
$dossier3 = ''.$dossier2.''.$row1["id_gamme"].'/';
if(IsDir_or_CreateIt($dossier3))
{
}
else
{
mkdir ("$dossier3", 0777);
};
$sql3=mysql_query("select id_sgamme, nom_sgamme FROM sgamme ORDER BY nom_sgamme");
while($row3= mysql_fetch_array($sql3))
{
$dossier4 = ''.$dossier3.''.$row3["id_sgamme"].'/';
if(IsDir_or_CreateIt($dossier4))
{
}
else
{
mkdir ("$dossier4", 0777);
};
}
}
}
}
}
?>
Le problème ce situe sur la création des dossiers sur les enregistrement de ma base de l'élement type.
Le script doit créer le dossier "société" puis dedans les dossiers "type" dans ce même dossier (/société/type)gamme et encore dedans le dossier sgamme.
Dans ma base j'ai deux enregistrement (donc normalement 2 repetoires à créer) il va me créer le premier pas le second,
Si j'enleve dans le script les bout de code pour créer les repertoire gamme et sous gamme, la il me créer bien le second repertoire.
Quel erreurs est-je commis? Quel oublie?
Merci
guigui69