Script d'upload d'images ?

WRInaute passionné
Bonjour,

Je n'arrive pas à faire fonctionner mon script d'upload d'images, voici à quoi ca ressemble :
Code:
<form action="index.php?cat=captures&mode=post" method="post" name="post">
<input type="hidden" name="max_file_size" value="100000" />
<input type="file" name="fichier" />
</form>

Et pour voir les informations histoire de tester

Code:
<?
$fichier    = $_FILES['fichier']['name'];
$taille     = $_FILES['fichier']['size'];
$tmp        = $_FILES['fichier']['tmp_name'];
$type        = $_FILES['fichier']['type'];
$erreur     = $_FILES['fichier']['error'];

echo  "Nom originel => $fichier <br />";
echo  "Taille => $taille <br />";
echo  "Adresse temporaire sur le serveur => $tmp <br />";
echo  "Type de fichier => $type <br />";
echo  "Code erreur => $erreur. <br />";
?>

Mais aucune info n'est mise...

Merci de votre aide :oops:
 
WRInaute discret
Essaye en écrivant les variables de cette façon ?
Code:
echo  "Nom originel => ".$fichier." <br />";
echo  "Taille => ".$taille." <br />";
echo  "Adresse temporaire sur le serveur => ".$tmp." <br />";
echo  "Type de fichier => ".$type." <br />";
echo  "Code erreur => ".$erreur." <br />";
 
Nouveau WRInaute
Peux-tu essayer ton script sur un autre serveur ? Il suffit en effet qu'Apache soit mal configuré, et n'ait pas les droits d'écriture sur le dossier temporaire pour que l'upload échoue, et donc que ce type de problème apparaisse...
 
A
Anonymous
Guest
Salut,
je n'ai pas regardé vraiment ton script mais ce qui m'a sauté aux yeux c'est l'absence de
Code:
 enctype="multipart/form-data"

amicalement,
 
WRInaute passionné
L'upload fonctionne sur IPB, donc il doit être activé, je vais essayer toutes les choses que vous m'avez dites, et je vais voir si ca marche ou pas :-)
 
Nouveau WRInaute
J'aurai demain soir accès à mes fichiers (je suis pas sur mon PC, là :roll: )
J'ai un script d'upload d'images fonctionnel, je le comparerai au tien... Si tu peux attendre jusque là :wink:
 
Nouveau WRInaute
Bon, j'ai réussi à me le faire envoyer...
Je ne vois pas de différence avec ton script :? En tout cas, celui là marche parfaitement, donc tu peux peut-être le tester, et si ça rate, c'est que çe vient définitivement du serveur (désolé de répéter cette hypothèse, mais je ne vois vraiment pas ce qui cloche sur ton script :? )

côté php :

Code:
$mimes = array('image/jpeg','image/gif','image/png');
if($_GET['action'] == 'image' && isset($_FILES['upload']))
{
	if(!in_array($_FILES['upload']['type'], $mimes))
	{
		$error .= '<p>L\'image doit être uniquement de type gif, jpg ou png.</p>';
	}
	else
	{
		if(!move_uploaded_file($_FILES['upload']['tmp_name'],$_SERVER['DOCUMENT_ROOT'].'/audrey/'.$_POST['dest'].$_FILES['upload']['name']))
		{
			$error .= '<p>Impossible d\'uploader l\'image.</p>';
		}
		else
		{
			$error .= '<p>Image uploadée avec succès.</p>';
		}
	}
}

côté xhtml :

Code:
<form action="mod.htm?action=image" method="post" enctype="multipart/form-data">
<input name="MAX_FILE_SIZE" value="1000000" type="hidden" />
<label for="upload">Uploader l'image </label>
<input name="upload" type="file" /> vers 
<select name="dest">
<option value="images/">images/ -&gt; images générales</option>
<option value="images/hq/">images/hq/ -&gt; Tableaux haute qualité</option>
<option value="images/lq/">images/lq/ -&gt; Tableaux basse qualité</option>
</select>
 <input name="gofile" class="button" value="Uploader" type="submit" />
</form>
 
A
Anonymous
Guest
xavierO a dit:
Bon, j'ai réussi à me le faire envoyer...
Je ne vois pas de différence avec ton script :?
.........
côté xhtml :
Code:
<form action="mod.htm?action=image" method="post" enctype="multipart/form-data">
</form>
elle est là la différence... enfin je crois... je parle (décidément) du enctype... :roll:
 
WRInaute passionné
Je l'ai ajouté de toute façon mais marche toujours pas, pourtant le forum IPB arrive à upload des avatars, je vais retenter avec d'autres trucs...
 
Nouveau WRInaute
salut, j'ai un problème, mon code marche pas:

Code:
$uploaddir = 'fichiers/';

ce qui permet d'uploader le fichier (image) dans le dossier "fichiers"
puis avec ce code:
Code:
GetSQLValueString($fichier_joint, "text"),

qui permet d'enregistré le nom de mon fichier dans ma bdd, le problème c'est que ça inscrit
nom_fichier.jpg
alors qu'il faudrait que ça insert "fichiers/nom_fichier.jpg"

et j'y arrive pas, :cry:

ps: je suis en local avec easyphp

a+
 
WRInaute accro
dans tous les cas, un message d erreur est retourné, il suffit de le lire :-) (permission denied, no such file or directory, etc...)
 
Nouveau WRInaute
nonplus, en fait c'est que ça inscrit mal dans la bdd,
Code:
"nom_image.jpg"
il faudrait:
Code:
"fichiers/nom_image.jpg"
mais le fichier est bien uploader dans le dossier fichiers

edit: c'est bon j'ai réussi, merci quand même
 
Nouveau WRInaute
Bonjour à tous et merci à Xavier0 pour son script.
Je viens de l'essayer (hébergeur : Free) et ça ne passe pas.
Voici le message d'erreur :

Method Not Allowed
The requested method POST is not allowed for the URL
 
Discussions similaires
Haut