UPLOAD D'IMAGE SIMPLE ET EFFICACE

BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007 - 2 juin 2004 à 09:58
ah_ah_ah Messages postés 1 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 15 juillet 2006 - 15 juil. 2006 à 13:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23326-upload-d-image-simple-et-efficace

ah_ah_ah Messages postés 1 Date d'inscription vendredi 31 mars 2006 Statut Membre Dernière intervention 15 juillet 2006
15 juil. 2006 à 13:31
moi je choisi une image, je l'upload, mais sa n'affiche aucun message! et dans mon dossier images, mon imzge n'y est pas :(
Utilisateur anonyme
21 oct. 2005 à 14:39
Plusieurs moyens...

Ca ca devrait marcher : tu gères une liste de fichier au lieu d'un à la fois :




Et tu fais un javascript qui te permet d'ajouter ces lignes dynamiquement. A toi de te creuser la tête :)
babatt92 Messages postés 33 Date d'inscription lundi 13 septembre 2004 Statut Membre Dernière intervention 10 juillet 2010
18 oct. 2005 à 00:02
et s'il ya plusieurs ficher a télécharger comment fait on?
<
<
<
<
<
Utilisateur anonyme
24 juin 2005 à 15:10
En passant par du javascript je pense que c'est possible...
Le javascript prépare le formulaire avec l'uri du fichier et le soumet. Php fait alors le reste du boulôt comme dans ce code.
A vérifier, j'ai jamais fait.
cs_supergrey Messages postés 475 Date d'inscription vendredi 27 juin 2003 Statut Membre Dernière intervention 20 septembre 2010
24 juin 2005 à 15:03
Salut je voudrais savoir s'il est possible d'uploader un fichier directement en entrant une url dans IE par exemple: http://mon.site/script.php?chemin=c:\image.jpg
Merci
gprieur Messages postés 2 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 24 mai 2005
24 mai 2005 à 16:14
si tu ve éviter l'upload de php tu peux les changer en .txt :

$nomDestinationFic = $_FILES["monfichier"]["name"];

if (eregi(".php", $nomDestinationFic)) {
// traitement
$nomDestinationFic .= ".txt";
}

en fait, à la place de traitement tu y mets ce que tu veux :)
Utilisateur anonyme
9 mai 2005 à 13:03
C'est pas une erreur, je ne fournis pas forcément du code clé en main.

Dans mon cas ce script est protégé par un login/pass administrateur donc aucun soucis, peu importe ce qu'il laisse uploader. A chacun d'utiliser intelligemment ce qui est fournis.
cs_dester Messages postés 5 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 14 février 2006
8 mai 2005 à 04:10
Par conter y a un probleme avec ce script il laisse passer l'upload de .php !
Grosse erreur de securité.
Utilisateur anonyme
24 avril 2005 à 13:47
euh, normalement $image_name est déjà rempli avec le nom de l'image, tu n'as pas à faire ça

tout comme $image_size est déjà rempli avec la taille de l'image

(hors considérations de register_globals à OFF bien sûr)
Gamleur84 Messages postés 2 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 8 mars 2006
23 avril 2005 à 21:27
Merci pour ton code, il m'a aidé !!!

Pour certain débutant comme moi :

Si vous voulez obtenir le nom de l'image seulement :
$image_name = basename($image);
Utilisateur anonyme
2 mars 2005 à 14:18
Cf mon commentaire final :

"Marchera pas si register_globals est à OFF. Je mettrais à jour après avoir testé une version avec register_globals à ON."

C'est sûrement ton cas. Il faut vraiment que je fasse une version à jour... Dans les autres commentaires tu as un début d'explication à comment résoudre ce problème.

La variable $image ne marchera pas non plus, il faut utiliser $_FILES["image"]. Consulte la doc de php.net pour voir comment utiliser les globales ($_POST, $_GET, $_FILES...). Je te conseille la version chm en français de la doc. C'est ce qui est de plus simple à utiliser.
everme Messages postés 1 Date d'inscription vendredi 7 novembre 2003 Statut Membre Dernière intervention 28 février 2005
28 févr. 2005 à 19:56
Mon serveur d'hébergement a php4.3 et ça passe pas...
Keskifo kje change dans le code ?
Utilisateur anonyme
12 janv. 2005 à 17:11
C'est une des variables qui est postée par le formulaire de façon automatique quand tu envoie des pièces jointes.

Le mieux maintenant serait d'utiliser la globale $_POST[...]
KheYrO Messages postés 22 Date d'inscription dimanche 19 décembre 2004 Statut Membre Dernière intervention 24 avril 2005
12 janv. 2005 à 16:47
Je voudrais savoir d'où sort le $image_size ???
cs_valentin85 Messages postés 8 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 12 janvier 2009
2 déc. 2004 à 11:40
si votre script a une erreur a la ligne 27

remplacer par :

move_uploaded_file($image,"images/".$image_name);

good up !
galakb2000 Messages postés 4 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 29 mai 2007
26 oct. 2004 à 20:04
moi ça me va très bien, ça m'a bien dépanné merci.
RedFo1 Messages postés 73 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 23 février 2007
2 juin 2004 à 21:48
lol, effectivemet, $_GET["variable"], c'est drôlement plus simple et ça marche :)
Utilisateur anonyme
2 juin 2004 à 18:49
Nan ton serveur est configuré comme tout serveur devrait ! Par contre tu te compliques un peu la vie pour la valeur en paramètre... Plutôt que ton getenv(..) tu peux utiliser $_GET["variable"], c'est mieux non ? ;)

Mon script date un peu, c'est pour ça qu'il n'est pas aux dernières normes mais je vais le mettre à jour. J'y avais pas trop pensé au départ en le postant.
RedFo1 Messages postés 73 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 23 février 2007
2 juin 2004 à 18:25
en fait, je me pose des questions...
Sur ce site, à chaque fois que je vois un script qui utilise
"upload.php?variable=valeur" par exemple, pour récupérer la variable dans le script, il y a directement écrit :
if($variable=="une valeur"), etc
alors que chez moi, pour récupérer la variable, il me faut un code du genre :
$query_string = getenv("QUERY_STRING");
$env_array = split("&", $query_string);
while (list($key,$val) = each($env_array))
{
list($name,$value) = split("=",$val);

$name = urldecode($name);
$value = urldecode($value);

$$name = trim($value);
}

De même, pour récupérer des valeurs de formulaires, je vois tout le monde utiliser directement $variable, alors que chez moi, je dois utiliser $_POST["variable"]
Est-ce qu'il y a quelque chose qui ne va pas sur mon serveur ?
Utilisateur anonyme
2 juin 2004 à 16:44
J'ai pas testé c'te version, j'ai modifié 2 ou 3 trucs pour le rendre plus accessible.

La variable $type est ok par contre car elle sert quand tu soumets le fichier. D'ailleurs ce n'est pas une erreur mais une "Notice" car tu as configuré ton serveur afin qu'il te donne tous les warnings possible !

Je corrige ça dans l'instant pour que ça marche quand même.
RedFo1 Messages postés 73 Date d'inscription lundi 31 mai 2004 Statut Membre Dernière intervention 23 février 2007
2 juin 2004 à 15:54
pour l'erreur à la ligne 10, je sais pas trop ce qui n'allait pas exactement, mais en la remplaçant par ça -> $poids_max_txt = round($poids_max / 1024,1)." ko"; ça marche
Cependant, il y a une autre erreur :
"Notice: Undefined variable: type in F:\SERVER\HTTP\php\echo.php on line 3"
Tu as vraiment testé le script ?
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
2 juin 2004 à 10:08
Comment je fais pour qu'il marche stp sur mon site ???
Ta msn ?
Utilisateur anonyme
2 juin 2004 à 10:05
Mais encore ?
Ca passe pas ça ?
J'ai ajouté ça vite fait pour que le code soit accessible à tous. Avant fallait modifier ces trucs là direct dans la suite.
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
2 juin 2004 à 09:58
Ya Une Erreur Ligne 10.
Rejoignez-nous