voila j'ai un petit problème!
je crée ma gallerie encore en ce moment. et donc mon idée a été de faire que l'admin qui gèrera la gallerie crée un dossier avec le nom de cette gallerie
donc pour cela j'ai créé un formulaire tout simple:
Code : HTML
Code:
Code : Tout sélectionner
<form action="creation.php" method="post">
<input type="text" name="repertoire" />
<input type="submit" name="upload" value="Valider" />
</form>
qui renvoie sur une page qui crée mon dossier: ( dites moi si ce n'est pas assez sécurisé... Smile )
Code : PHP
<?php session_start();
mysql_connect("localhost", "root", "");
mysql_select_db("news");
//Si la variable $_SESSION['logged'] n'existe pas, on la créée.
if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;
{
if (isset($_POST['repertoire']))
{
$rep = htmlentities ($_POST['repertoire']);
mkdir($rep);
}
}
?>
Code : HTMLCode:
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Bienvenue sur le site de la Corpo</title>
<meta http-equiv="refresh" content="0; url=http://127.0.0.1/Site/upload.php?dir=<? echo $rep?>" />
<link href="style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
Connection en cours
</body>
</html>
j'arrive donc sur ma page d'upload avec le nom du dossier en $_GET['dir']
pour l'upload j'ai repris un script :
ici
http://www.siteduzero.com/tuto-3-1374-1 ... mages.html
que j'ai adapté selon mes besoins.
Je voudrais en fait qu'il uploade l'image directement dans le dossier passé en $_GET['dir']
voila de code de l'upload:
Code : PHP
<?php
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$rep = $_GET['dir']; //ici j'ai alterné dans mes tests avec //$repertoire= $_GET['dir'];
$repertoire = 'uploads/'; // Repertoire d'upload
if (isset($_FILES['fichier']))
{
// On vérifie le type du fichier
if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif')
{
$erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
}
// On vérifit le poids de l'image
elseif ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
}
// On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
}
// Si il y a une erreur on l'affiche sinon on peut uploader
if(isset($erreur))
{
echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
}
else
{
// On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
$nom_fichier = time().$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'http://monsite/'.$repertoire.''.$nom_fichier.'';
echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <a href="' . $url . '" >' .$url. '</a>';
require("config.inc.php");
mysql_connect($host,$username,$password);
mysql_select_db($bdd_name);
mysql_query("INSERT INTO `images` ( `id` , `nom` , `gallerie` ) VALUES ( '', '".$nom_fichier."', '1')");
}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}
}
}
else
{
?>
Code : Tout sélectionner
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
<input type="file" name="fichier">
<input type="submit" value="Envoyer">
</form>
<?php
}
?>et le code php qui va avec.
j'ai changé le $repertoire = 'uploads/';
en $repertoire = $_GET['dir'];
mon script me dit que l'image a été uploadée mais dans le dossier en question il n'y a rien.
je voudrais savoir quoi mettre pour que sa marche correctement, ou si j'ai fait quelque chose qu'il ne fallait pas enfin voila quoi ^^
je vous remercie de votre aide Smile