|
|
|
|
Bonjour, je dispose d'un formulaire dans lequel je vais rajouter une balise <input type="file">...
Tout d'abord j'aimerai savoir comment ça marche si on intègre<input type="file"> dans un formulaire avec deja tout pleins d'autres input...
Voici mon code :
<form action="monfichier.php" method="post">
<p>
<input type="text" name="name1" />
<input type="text" name="name2" />
<select name="name3">
<option value="opt1"></option>
<option value="opt2"></option>
<option value="opt3"></option>
<option value="opt4"></option>
<option value="opt5"></option>
</select>
</p>
</form>
comment dois-je rajouter le input type file ? Car j'ai entendu dire qu'il faut mettre un truc du genre enctype qu'il faut rajouter dans <form>, j'ai juste a le rajouter ou bien faut il faire un autre formulaire ?
Maintenant ma deuxième question : j'aimerai donner un nom d'image qui soit ("name" .$ID.$extension) mais j'aimerai que $ID corresponds a l'ID poster en même tant que les autre formulaire(voir plus haut). Et pour l'extension,pas de problème je sais deja comment faire !
Maintenant je vous prie de ne pas m'envoyer vers un tuto sur l'upload car je sais exactement comment uploader, je sais aussi comment renommer un fichier et le déplacé dans un dossier non temporaire, les seul problème que je rencontre sont ceux cité plus haut !
Merci !
Configuration: Windows XP Firefox 3.0.1
Pour gérer les envois de fichiers, fais comme ca :
<form action="monfichier.php" method="post" enctype="multipart/form-data">
<p>
<input type="text" name="name1" />
<input type="text" name="name2" />
<select name="name3">
<option value="opt1"></option>
<option value="opt2"></option>
<option value="opt3"></option>
<option value="opt4"></option>
<option value="opt5"></option>
</select>
<input type="file" name="fichier" />
</p>
</form>
coté PHP : if($_FILES['fichier']['error']){
switch($_FILES['photo']['error']){
case 1: // UPLOAD_ERR_INI_SIZE
echoLe poids du fichier dépasse la limite autorisée par le serveur");
break;
case 2: // UPLOAD_ERR_FORM_SIZE
echo("Le poids du fichier dépasse la limite autorisée dans le formulaire");
break;
case 3: // UPLOAD_ERR_PARTIAL
echo("L'envoi du fichier a été interrompu pendant le transfert");
break;
case 4: // UPLOAD_ERR_NO_FILE
echo("Le fichier que vous avez envoyé a une taille nulle");
break;
}
}
else {
$chemin_destination = '/var/www/fichiers/';
move_uploaded_file($_FILES['fichier']['tmp_name'], $chemin_destination.$_FILES['fichier']['name']);
}
Plus de détails ici : http://www.commentcamarche.net/faq/sujet 889 php upload de fichiers |
Répondre à mikeb1992
|
Up !
|
Re,
|
Bonjour,
if(isset($_POST["action"])){
if($_FILES['photo']['error']){
...
else {
$photo=$datas->newElement("photo");
$nom_fichier = $photo["id"].".jpg"; //où ["id"] correspond à la colonne id de ma table (clé primaire auto-increment)
$chemin_destination = '/var/www/fichiers/';
move_uploaded_file($_FILES['fichier']['tmp_name'], $chemin_destination.$nom_fichier);
}
}
et voici la fonction newElement de la classe datas :
function newElement($table){
$str_requete="INSERT INTO ".$table." (id) VALUES ('')";
$result=mysql_query($str_requete);
$id=mysql_insert_id();
return $this->getFirstElementAvecCondition($table,"id",$id);
}
function getFirstElementAvecCondition($table,$colonne,$valeur){
$str_requete="SELECT * FROM " . $table ." WHERE " . $colonne . "=\"" . $valeur . "\"";
$result=mysql_query($str_requete);
$element=null;
if($tuple=@mysql_fetch_assoc($result)){
$element=$tuple;
}
return $element;
}
Voila, j'espère que ca va t'aider. Bon courage |