Création de répertoire et de fichier
Posté : 31 oct. 2010, 10:47
Bonjour,
J'aurai besoin de vos lumières, même si le jour s'est levé plus tôt ce matin, en raison du passage à l'heure d'hiver.
Je veux écrire un script qui écrit un fichier config;ini dans un répertoire admin. Si ce répertoire n'existe pas, il doit être créé.
Voici ma portion de code :
Or, je rencontre deux problèmes...
1. Lorsque le fichier n'existe pas, les répertoires sont créés, mais je rencontre l'erreur...
le fichier n'étant pas écrit.
2. Lorsque le fichier existe déjà, Php me dit avant ce message d'erreur...
comme si ma condition if (!(is_file(''.$_POST['client'].'/admin/config.ini'))) n'était pas opérante.
J'ai essayé avec is_dir pour tester uniquement l'existence du répertoire, mais ça ne fonctionne pas non plus.
Merci beaucoup pour votre aide.
Cordialement,
Gaspard
J'aurai besoin de vos lumières, même si le jour s'est levé plus tôt ce matin, en raison du passage à l'heure d'hiver.
Je veux écrire un script qui écrit un fichier config;ini dans un répertoire admin. Si ce répertoire n'existe pas, il doit être créé.
Voici ma portion de code :
if (!(is_file(''.$_POST['client'].'/admin/config.ini')))
{
$create_client = mkdir('../'.$_POST['client'].'', 0705);
$create_admin = mkdir('../'.$_POST['client'].'/admin', 0705);
}
$file = ''.$_POST['client'].'.ini';
$handle = fopen(''.$_POST['client'].'/admin/config.ini', 'w');
...
(Ma version de Php ne me permet pas de créer des répertoires récursivement.)Or, je rencontre deux problèmes...
1. Lorsque le fichier n'existe pas, les répertoires sont créés, mais je rencontre l'erreur...
,Warning: fopen(foo/admin/config.ini) [function.fopen]: failed to open stream: No such file or directory in /home/site/admin/settings_site.php on line 370
le fichier n'étant pas écrit.
2. Lorsque le fichier existe déjà, Php me dit avant ce message d'erreur...
,Warning: mkdir() [function.mkdir]: File exists in /home/climax/site/settings_site.php on line 352
comme si ma condition if (!(is_file(''.$_POST['client'].'/admin/config.ini'))) n'était pas opérante.
J'ai essayé avec is_dir pour tester uniquement l'existence du répertoire, mais ça ne fonctionne pas non plus.
Merci beaucoup pour votre aide.
Cordialement,
Gaspard