par
Sioux » 03 mai 2013, 16:02
Bonjour à tous,
J'ai un léger soucis de création de dossier avec la fonction mkdir().
J'ai un petit formulaire qui récupère une variable $nom. Celui ci indique le titre d'une catégorie et créé en même temps un dossier avec comme nom cette variable.Jusque là tout va bien...
Jusqu'au moment ou j'ai un titre avec une apostrophe.La variable est bien créé et s'inscrit bien tel quel dans ma base de donnée mais le dossier refuse de se créer.
Donc est-ce qu'il est possible de créé un dossier avec caractère spécial avec mkdir()?
Mon code
if(!empty($_POST["nom"])){
$erreurs = array(); //initialise un tableau d'erreurs au cas ou :)
$nom = mysql_escape_string(trim($_POST["nom"])); //enleve les espaces de chaque côté de la variable
$date = mysql_escape_string(trim($_POST["date"]));
$categorie="galerie_3d";
$desc = mysql_escape_string(trim($_POST["description"]));
$lienimage = "";
$typesacceptes = array("image/jpeg","image/jpg","image/png","image/gif");
//vérifie si les images existent et qu'elles sont au bon format
if(!empty($_FILES["image"]["name"]) && in_array($_FILES["image"]["type"],$typesacceptes))
{
if(!is_dir("galerie/3d/".$nom))
{
mkdir("galerie/3d/".$nom."", 0777);//création d'un dossier si il n'existe pas
mkdir("galerie/3d/".$nom."/min", 0777);//création d'un dossier pour les miniature
mkdir("galerie/3d/".$nom."/vid", 0777);//création d'un dossier pour les vidéos
}
$lienimage = mysql_escape_string($_FILES["image"]["name"]);
copy($_FILES["image"]["tmp_name"],"projet/3d/".$lienimage);
//connexion à la BDD
$connect=mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die ('erreur de connexion');
mysql_select_db(DB_BDD) or die ('erreur de connexion à la base');
$requeteinsert = "INSERT INTO projet_3d(nom,lienimage,categorie,description,date) VALUES(\"".$nom."\",\"".$lienimage."\",\"".$categorie."\",\"".$desc."\",\"".$date."\")";
$result = mysql_query($requeteinsert,$connect);
echo "<p class='styletexte'>Votre image a bien été enregistrée!</p>";
mysql_close($connect);
}
else{
$erreurs[] = "Veuillez uploader une image valide (format jpg, png ou gif)!";
}
}
Merci d'avance
Bonjour à tous,
J'ai un léger soucis de création de dossier avec la fonction mkdir().
J'ai un petit formulaire qui récupère une variable $nom. Celui ci indique le titre d'une catégorie et créé en même temps un dossier avec comme nom cette variable.Jusque là tout va bien...
Jusqu'au moment ou j'ai un titre avec une apostrophe.La variable est bien créé et s'inscrit bien tel quel dans ma base de donnée mais le dossier refuse de se créer.
Donc est-ce qu'il est possible de créé un dossier avec caractère spécial avec mkdir()?
Mon code
[php]
if(!empty($_POST["nom"])){
$erreurs = array(); //initialise un tableau d'erreurs au cas ou :)
$nom = mysql_escape_string(trim($_POST["nom"])); //enleve les espaces de chaque côté de la variable
$date = mysql_escape_string(trim($_POST["date"]));
$categorie="galerie_3d";
$desc = mysql_escape_string(trim($_POST["description"]));
$lienimage = "";
$typesacceptes = array("image/jpeg","image/jpg","image/png","image/gif");
//vérifie si les images existent et qu'elles sont au bon format
if(!empty($_FILES["image"]["name"]) && in_array($_FILES["image"]["type"],$typesacceptes))
{
if(!is_dir("galerie/3d/".$nom))
{
mkdir("galerie/3d/".$nom."", 0777);//création d'un dossier si il n'existe pas
mkdir("galerie/3d/".$nom."/min", 0777);//création d'un dossier pour les miniature
mkdir("galerie/3d/".$nom."/vid", 0777);//création d'un dossier pour les vidéos
}
$lienimage = mysql_escape_string($_FILES["image"]["name"]);
copy($_FILES["image"]["tmp_name"],"projet/3d/".$lienimage);
//connexion à la BDD
$connect=mysql_connect(DB_HOST,DB_LOGIN,DB_PASS) or die ('erreur de connexion');
mysql_select_db(DB_BDD) or die ('erreur de connexion à la base');
$requeteinsert = "INSERT INTO projet_3d(nom,lienimage,categorie,description,date) VALUES(\"".$nom."\",\"".$lienimage."\",\"".$categorie."\",\"".$desc."\",\"".$date."\")";
$result = mysql_query($requeteinsert,$connect);
echo "<p class='styletexte'>Votre image a bien été enregistrée!</p>";
mysql_close($connect);
}
else{
$erreurs[] = "Veuillez uploader une image valide (format jpg, png ou gif)!";
}
}
[/php]
Merci d'avance