bon j'ai un petit soucis, je vous explique, j'ai un jolie compte infomaniak, et j'aimerai uploader via un formulaire des images dans un repertoire que je crée au passage si il l'est pas! Au mieux pour le moment j'ai réussi a creer le répertoire(et encore je sais meme pas comment vu qu'entre temps j'ai remodifier le code en pensant que ca ne marchait pas!)
Je vous met un extrait de mon code
$lastname="mini.jpg";
$filename=$_FILES['avatar']['tmp_name'];
$filedir="users/".$ligne['ID'];
if(!file_exists($filedir))
mkdir($filedir,0777);
chmod($filedir,0777);
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = $filedir; // Repertoire d'upload
// On vérifit le type du fichier
if ($_FILES['avatar']['type'] != 'image/png' && $_FILES['avatar']['type'] != 'image/jpeg' && $_FILES['avatar']['type'] != 'image/gif')
{
$erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
}
// On vérifit le poids de l'image
elseif ($_FILES['avatar']['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;
}
else
{
// On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['avatar']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['avatar']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['avatar']['type'] == 'image/gif') { $extention = '.gif'; }
$nom_fichier = mini.$extention;
// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['avatar']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'www.vie2grenier.com/'.$repertoire.'/'.$nom_fichier.'';
echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">';
}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}
}
le dossier users etait en 777 au moment des tests
sinon j'avais une autre versions avant mais elle n'ont plus donné pas plus de résultat
//$filedir="users/".$ligne['ID'];
//if(!file_exists($filedir))
//mkdir($filedir,0777);
//@chmod($filedir,0777);
//if(file_exists("$filedir/$lastname"))
//{
// @unlink($filedir/$lastname);
// @move_uploaded_file($filename,"$filedir/$lastname");
//}
//else
//{
// @move_uploaded_file($filename,"$filedir/$lastname");
//}
//@chmod($filedir,0755);
//@mysql_close();
//header("Location:http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/form_sthem.php?ssth=".$theme);
//}
//if($nom_du_fichier['error'])
//{
// switch ($nom_du_fichier['error'])
// {
// case 1: //UPLOAD ERR INI SIZE
// break;
// case 2: // UPLOAD ERR FORM SIZE
// break;
// case 3: // UPLOAD ERR PARTIAL
// break;
// case 4: // UPLOAD ERR NO FILE
// break;
// }
//}
//else
//{
//echo "pas d'erreur"; // UPLOAD ERR OK
//}
//}
bon le code est porc ca, je n'en doute pas(mes essais en PHP) et c'est beaucoup de copier coller(avec quelques modification) du net... donc...
alors j'ai modifier remodifier et toujours rien. Si quelqu'un peu me donner un chemin a suivre(ou un exemple qui marche) je suis preneur