Création d'un répertoire avec une variable POST

Eléphanteau du PHP | 11 Messages

11 juil. 2011, 11:38

Bonjour à tous,

Je cherche à créer un répertoire avec le noms de la variable de ma méthode mais je n'arrive pas à trouver comment faire.

Voici mon code qui ne fonctionne pas :
$structure = './archive_importation/".$_POST["importer"]."';
	if (!mkdir($structure, 0, true)) {
    die('impossible de créer le dossier');
										}
J'utilise la variable ".$_POST["importer"]." pour le chemin de mon dossier d'importation et cela fonctionne, il ne veut juste pas me créer le dossier avec.

Si quelqu'un a une idée je suis preneur.

ViPHP
xTG
ViPHP | 7331 Messages

11 juil. 2011, 11:46

L'art des côtes de porc. :roll:
Tu ouvres des guillemets simples et tu veux concaténer avec des guillemets doubles.

Il faudrait tester aussi la valeur de ta variable avant de l'utiliser aussi brutalement. Car un système d'exploitation n'autorise pas tous les caractères.

Eléphanteau du PHP | 11 Messages

11 juil. 2011, 11:57

L'art des côtes de porc. :roll:
Tu ouvres des guillemets simples et tu veux concaténer avec des guillemets doubles.

Il faudrait tester aussi la valeur de ta variable avant de l'utiliser aussi brutalement. Car un système d'exploitation n'autorise pas tous les caractères.
J'utilise exactement la même syntaxe avec la commande "load data infile" pour définir le chemin où est le fichier à importer il y a juste que ça ne fonctionne pas avec mkdir et j'aimerai trouver comment faire.
Après je vais essayé en mettant que des guillemets double et je verrai ce que ça donne.

Eléphanteau du PHP | 11 Messages

11 juil. 2011, 11:59

Bon et ba au temps pour moi avec que des guillemets double ça fonctionne.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

11 juil. 2011, 12:46

Lorsqu'une chaine est délimitée par des apostrophes ('...'), les variables php ne sont pas interprétées, alors qu'elles le sont lorsque la chaine est délimitée par des guillemets ("...").

D'une manière générale, pour éviter ce genre d'erreur et pour faciliter la lecture du code grace à la coloration syntaxique, il est recommandé de sortir les variables des chaines en les concaténant avec l'opérateur point (.) :)
'./archive_importation/' . $_POST["importer"];
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...