begin process at 2012 02 11 00:45:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > UPLOAD D'IMAGE SIMPLE ET FONCTIONNEL

UPLOAD D'IMAGE SIMPLE ET FONCTIONNEL


 Information sur la source

Note :
8,08 / 10 - par 25 personnes
8,08 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :upload, image Niveau :Débutant Date de création :03/06/2004 Vu / téléchargé :25 183 / 6 684

Auteur : ceacy

Ecrire un message privé
Site perso
Commentaire sur cette source (56)
Ajouter un commentaire et/ou une note

 Description

Permet l'upload d'image, en choississant taille maxi, dimensions maxis, extensions valides, etc.


 Conclusion

Une démo sur http://membres.lycos.fr/ceacy/upload.php3 (abusez pas non plus ;))
Si vous voulez, vous pouvez mettre les types MIME autorisés dans un tableau et faire un in_array(), si ça vous chante, pour améliorer le script :P

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip SIGNATURE DYNAMIQUE PNG
Source avec Zip IMAGE RÉVÉLANT VOTRE PRÉSENCE ONLINE/OUTLINE
Source avec Zip COMPTEUR DE VISITES SOUS FORME D'IMAGE
Source avec une capture LISTER LES IMAGES D'UN RÉPERTOIRE
CALCULATRICE

 Sources de la même categorie

Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK
Source avec Zip Source avec une capture EL COYOTOS LIVRE D'OR PHP 5 par elcoyotos
COMPTEUR DE VISITE - FICHIER TXT - CODE MINIMAL par SuperChouquette

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES par cod57
Source avec Zip Source avec une capture UPLOADEUR DE FICHIERS MULTIPLES V1 par cod57
UPLOAD IMAGE AVEC MINIATURE par dilar
Source avec Zip FONCTION PHP POUR REDIMENSIONNER UNE IMAGE ET UPLOADER DANS ... par GstJasmin
Source avec Zip UPLOAD DE FICHIER par Shaihuld

Commentaires et avis

Commentaire de zalumetkolo le 07/06/2004 02:00:01

Merci, je n'ai testé que la demo mais c'est exactement ce que je cherchais..

Merci beaucoup pour ton travail..

Zalu..

Commentaire de ousuisje le 17/06/2004 13:23:13

bonjour,

ces scripts sont-ils utilisables dans un formulaire fait avec Flash MX?
dans ce cas pourriez-vous m'expliquer comment faire le lien entre Flash-Javascript et php?

merci

Commentaire de ceacy le 17/06/2004 17:50:37

Euh ... pas la moindre idée, je ne suis absolument pas versé dans Flash MX (pas de version pour linux, donc pas de flash pour moi ;))

Commentaire de mobman02 le 01/09/2004 02:16:24

j'ai un prob,
sur mon serveur lycos, j'ai mis directement le scrit, et il ne veut rien uploader !
"Copie échouée : 0"

Commentaire de ceacy le 01/09/2004 10:56:41

Par défaut, le script va enregistrer les fichiers uploadés dans le dossier "/avatars/" . Vérifie que ce dossier existe, et que les droits d'écriture sont activés dessus.

Commentaire de stanilou le 02/11/2004 15:37:38

salut
Super ce sript!
Je me suis dépécher de l'installer sur mon site! Seulement voila, pour les petits gif tout va bien mais pour les photos d'environ 200-300Ko, la probleme! (Je suis chez lycos)
En fait, ça fait un long chargement (Ca je compren!) mais aprés ça revient sur la page (d'acceuil ou l'on met notre fichier à télécharger) et rien d'autre! (le fichier n'est pas copié!)
As tu une reponse a mon probleme?
Merci d'avance
Bye bye
Nats
Ps: Je n'ai rien changé au script et j'ai bien la dossier avatars !

Commentaire de ceacy le 02/11/2004 23:36:52

Lycos affiche les erreurs, ou non ?
Si le script provoque un timeout (l'upload ne peut pas durer plus de x secondes, sinon le serveur jette l'éponge), la page provoque une erreur (timeout). Mais je sais pas si c'est affiché (option du serveur lycos).

Commentaire de stanilou le 03/11/2004 09:32:37

Oui ce doit etre ca! mais il n'y a pas d'erreur! on revient juste au formulaire d'envoi du fichier! (j'ai essayé avec une photo de 90Ko, ca marche trés bien!) Y a t-il un moyen de contrer ce temps? (en clair de faire que le timeout soit au alentour de 2 minutes!)???
Merci d'avance

Commentaire de ceacy le 03/11/2004 09:42:16

Il ne me semble pas ... tu peux quand même essayer avec ini_set(), (je pense que c'est "max_execution_time" et "upload_max_filesize" qui t'intéressent), mais ça m'étonnerait que le serveur lycos le permette.

Pour plus d'infos sur ini_set() : http://www.nexen.net/docs/php/annotee/function.ini-set.php

Commentaire de stanilou le 03/11/2004 09:46:17

donc apparament ce serai "max_execution_time" car "upload_max_filesizeé" est fixé a 2M !
Ok merci je vais voir ca et je te dit!

Commentaire de jpbiocade le 27/12/2004 12:46:35

bonjour,
je suis tres débutant !
merci pour ce script, voici longtemps que je cherche un moyen simple pour laisser la possibilité de déposer une image dans un album.

j'ai fait le répertoire upload sur mon site, avec ta page php et un répertoire avatar

tout se passe bien, j'ai confirmation du transfert, au bon chemin, bon nom, bonne taille ! mais quand je vais avec mon ftp normal voir le résultat si le fichier est bien là ... vide rien du tout ?

j'ai laissé l'acces en écriture sur tout le répertoire et le php

as-tu une idée pour me conseiller d'ou vient mon problème

merci par avance
jp

Commentaire de ceacy le 27/12/2004 15:45:55

Bonjour,
Le message disant que le fichier est bien uploadé contient un lien : quand tu cliques dessus, tu accèdes à l'image, ou à une erreur 404 ?
Si l'image apparait, c'est que c'est ton client FTP qui débloque, et que l'image est bien sur le serveur : essaie d'actualiser l'affichage de ton client FTP, ou d'en changer (filezilla est gratuit et très bien ;-))

En revanche, si tu as une erreur 404, c'est le script qui a un problème ... et sans message d'erreur, à priori, je ne vois pas d'où ça vient :-(

Commentaire de jpbiocade le 27/12/2004 19:18:57

Bonjour,
merci pour la réponse rapide, en fait victoire ça marche, j'avais pourtant rechargé la page 2 fois lors  de mes essais , quand j'ai tout fermé et relancé la page du site en fait les fichiers étaient bien là !

Bravo pour ton script, simple et facile à mettre en oeuvre, j'ai essayé d'autres usines à gaz trop complexes pour moi, enfin du simple !

super, merci car je cherchais depuis longtemps

jp

Commentaire de jpbiocade le 31/12/2004 23:05:01

Bonjour et bonne année,
j'ai installé le script sur mon site et ça marche bien.
Mais je découvre un petit problème pour  mon utilisation personnelle, le changement des images d'un album par un visiteur.
j'ai nommé mes images de mon album html , 1,2...10
le script transforme en image_1 et mon album est ok
ça marche bien

mais si je reviens recharger une nouvelle image nommée 1 le nom change automatiquement et devient image_1_1285330998  par exemple
l'image 1 n'est pas écrasée par la nouvelle 1

y a -il une astuce pour écraser le fichier existant

merci par avance pout ton aide

jean-paul

Commentaire de coucou747 le 31/12/2004 23:52:59 administrateur CS

je croyais avoir posté un commentaire...

Bon, je le redis alors, ta source n'est pas sécurisée... Ta vérification de type est mauvaise...

Commentaire de jpbiocade le 01/01/2005 10:54:31

Bonjour,
merci pour ta réponse rapide, mais désolé je suis débutant dans ce domaine et je ne comprends pas ta réponse

source sécurisé... vérif type..?
je ne sais pas si c'est ça, mais je suis déjà dans des pages d'acces par code passe sur mon site

le script marche bien , les fichiers sont bien transférés de ce côté c'est ok

c'est juste une problème de nom du fichier qui change apres transfert car il existe déja et est renommé automatiquement donc mon album n'est pas modifié en ligne
l'image nommée 1 devient 1_4554387, si j'efface du serveur l'image 1 et que je transfere tout va bien

y a t-il une ruse pour effacer l'ancien fichier de même nom puis reécrire le nouveau (l'écraser)
afin que la nouvelle image prenne la place de l'ancienne

merci pour ta patience
jp




Commentaire de ceacy le 01/01/2005 12:29:26

Pour remplacer le fichier, il suffit (si je me souviens bien), de commenter les lignes suivantes :
if(file_exists($dest_rep.$nom_img))
{
$nom_img = preg_replace("/\.([a-zA-Z]{3,4})$/i", "_".time().".\\1", $nom_img);
}

En revanche, coucou747, qu'entends-tu par "la vérification de type est mauvaise" ? Et comment le corriger ?

Commentaire de coucou747 le 01/01/2005 13:09:00 administrateur CS

la vérification du type de fichier se fait coté client...

tu dois la faire coté serveur...

si on t'envoi un fichier php et qu'on le fait passer pour un fichier png, tu imagines les dégats ?

Commentaire de jpbiocade le 01/01/2005 13:58:52

je dois dire que c'est un peu dur dur pour mon niveau en script
mais donc si la photo sur mon album html s'appelle cliel_image.jpg et que je veux la remplacer par une nouvelle qui s'appelle aussi ciel_image.jpg
je dois le dire au script dans cette ligne ? mais ou ?

if(file_exists($dest_rep.$nom_img))
{
$nom_img = preg_replace("/\.([a-zA-Z]{3,4})$/i", "_".time().".\\1", $nom_img);
}

merci
jp

Commentaire de coucou747 le 01/01/2005 16:21:26 administrateur CS

tu suprimes ces lignes...
ainsi, il écrasera l'image existante, ne tenant pas compte des nom doubles...

Commentaire de jpbiocade le 01/01/2005 19:24:11

merci,
effectivement ça marche !
parfait pour mon application... bravo vous êtes tous sympas


jean-paul

Commentaire de coucou747 le 02/01/2005 12:22:09 administrateur CS

MAIS NON tu ne PEUX pas l'utiliser comme ça, c'est dangereux.... faut vérifier que ce fichier soit bien une image...

<html>
<head>
<title>Ajouter un avatar</title>
<link rel="Stylesheet" href="site.css" type="text/css">
</head>
<body>

<?php
$chose="<p>Ce portail a été créé pour plusieurs raisons, jouer, faire jouer, rencontrer des personnes de bon niveaux, m'améliorer en PHP, etc... Le jeu ne doit pas sortir de ce cadre... Ne mettez pas d'avatars provoquateurs ou indécents svp... Si je croise un avatar qui me déplait, je suprimerais directement le compte du vilain petit bonhome qui a fait ça...</p>
<form enctype='multipart/form-data'
action='add_avatar.php'
method='post'>
<input name='fichier' type='file'>
<input type='submit' value='envoyer' name='bouton'>
</form>
<p>Merci de votre compréhention</p>";

$bouton = $_POST['bouton'];
if(!empty($bouton)) {
$fichier = $_FILES['fichier']['name'];
$size = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
$type = $_FILES['fichier']['type'];
$error = $_FILES['fichier']['error'];
$max = 100000;
if($fichier!="") {
if($size <= $max) {
$src_img = @ImageCreateFromJpeg("$tmp");
$dst_img= @ImageCreateTrueColor(96,96);
if (ImageSX($src_img)){
ImageCopyResized($dst_img,$src_img,0,0,0,0,96,96,ImageSX($src_img),ImageSY($src_img));
while (file_exists("avatars/$fichier.jpeg")){
$fichier=$fichier."_1";
}
touch("avatars/$fichier.jpeg");
ImageJpeg($dst_img,"avatars/$fichier.jpeg");
echo "Avatar ajouté...<br>
Merci de votre contribution à la vie de ce portail...<br>
<img src='avatars/$fichier.jpeg'>
<a href='index.php'>Retour...</a>";
}else{
echo "Ceci n'ets pas une image JPG...<hr>$chose";
}
}else {
echo "Le fichier est trop volumineux...<hr>$chose";
}
}else{
echo "aucun fichier envoyé...<hr>$chose";
}
}else{
echo $chose;
}
?>
</body>
</html>


moi j'utilises ceci pour mon jeu d'échec, c'est largement plus efficace, pour savoir si c'est une image, on ouvre, et on vérifie si "l'image" a une largeur... les autrees fichiers n'en ont pas....

Commentaire de chatis le 13/01/2005 17:37:25

salut

moi j'ai bien fais tout ca et créer le fichier avatars sur mon server, et kan je mets envoyé, ca fais juste un raffraichissement de la page et rien ne se passe, aucune erreur aucun résultat. et je n'ai pas du tout changé le code

Commentaire de chatis le 13/01/2005 17:38:49

a oui, l'adresse du ta page c'est http://chatis.ath.cx/nectar/upload_zum.php si tu veux essayer

Commentaire de m1000 le 27/04/2005 15:42:58

C'est très bien le fait de pouvoir uploader une image dans un répertoire mais maintenant comment supprimer une image de ce meme répertoire ?

Merci

Commentaire de coucou747 le 27/04/2005 17:59:08 administrateur CS

mais cherche dans le manuel avant de poser des questions bètes !!!

unlink('fichier.extention');

ou

system('rm fichier.extention');

ou

exec('rm fichier.extention');

avec une préférence pour unlink

Commentaire de mac06 le 11/05/2005 15:55:26

Merci pour ton script, ca ma fait gagner du temps, et il est sympa

Commentaire de twelve34 le 14/06/2005 10:30:27

L'upload est bien effectuée pour ma part, mais ça me génère quand même cette erreur :

Warning: getimagesize(): open_basedir restriction in effect. File(/tmp/phptNzrzh) is not within the allowed path(s): (.:/home/sites) in /home/sites/site161/web/divers/upload_zum.php on line 68

Warning: getimagesize(/tmp/phptNzrzh): failed to open stream: Operation not permitted in /home/sites/site161/web/divers/upload_zum.php on line 68

Merci de votre aide à tous!

Commentaire de ceacy le 14/06/2005 11:15:48

Il me semble que c'ets dû à des restrictions de sécurité sur ton serveur : tes scripts PHP n'ont le droit de manipuler des fichiers que dans certains dossiers (/home/sites et sous-dossiers, en l'occurrence), et l'image se trouve dans /tmp.

Si tu as la main sur le serveur, ajoute /tmp à tes dossiers utilisés.

Commentaire de coucou747 le 14/06/2005 12:39:41 administrateur CS

va voir le chmod

Commentaire de danhila le 17/10/2005 11:27:49

Bonjour, je suis débutante, et je voudrais savoir si dans ce script il y a des choses à créer dans la bdd?

Commentaire de babatt92 le 17/10/2005 14:27:59

Comment on fait pour mettre plusieurs champ donc plusieurs upload?

Commentaire de coucou747 le 17/10/2005 18:52:41 administrateur CS

pour mettre ça dans une BDD, il faut faire une colone MEDIUMBLOB, et pour avoir plusieurs champs : il faut faire plusieurs lignes : <input type="file" ... />

Mon code précédent était largement plus sécurisé, mais ne l'était pas totalement...

Commentaire de babatt92 le 18/10/2005 00:06:09

Merci ça c'est pas trop dure ;-)
Si je nomme les fichier <input type="file" name='fichier1'  /><input type="file" name='fichier2'  /><input type="file" name='fichier3'  />...ainsi de suite cela ne fonctionne pas

Commentaire de coucou747 le 18/10/2005 19:05:01 administrateur CS

Salut, pour mieux comprendre les uploads, je te conseilles le code suivant à la sortie de ton formulaire...

<?php
print_r($_FILES);
?>

ici, tu devrais avoir le nom de ton fichier uploadé dans $_FILES['fichier']['name'], son nom temporaire dans $_FILES['fichier']['tmpname'], son type dans $_FILES['fichier']['type'], et le fait qu'il y ai eu une erreur dans $_FILES['fichier']['error']

voila, tu peux ensuite utiliser copy ou autres...

j'ai posté deux sources sur les dangers du php, les deux montrent des failles dues aux téléchargements, l'une d'entre elle y est exclusivement consacré, vas y faire un tour avant de poster une source, histoire qu'elle soit sécurisée...

Commentaire de GunnmFred le 06/11/2005 16:06:15

Salut,
Pour coucou747 : Il ne manquerait pas une fonction header dans ton code pour que la fonction touch s'effectue correctement ?

Commentaire de coucou747 le 06/11/2005 17:05:02 administrateur CS

quel rapport entre touch et header ????

header renvoi qqch au navigateur, touch cré un fichier sur le serveur...

aucun rapport...

tu devrais tester au lieu de poser des questions comme ça !

Commentaire de GunnmFred le 06/11/2005 22:51:55

Je me suis trompe sur la fonction, désolé. Ma question venait de la :
http://www.nexen.net/docs/php/annotee/function.imagejpeg.php
Et apres essais, ca marche, c est moi qui ait du mal comprendre le paragraphe sur le header.

Commentaire de keroberos le 21/03/2006 14:00:20

ton upload deconne a plein tube jarrive a add des page php

Commentaire de keroberos le 21/03/2006 14:01:23

g juste a mettre un script et je kill ton site web mdr

Commentaire de keroberos le 21/03/2006 14:03:45

http://membres.lycos.fr/ceacy/avatars/avatar_index_1142945691.php

deso pour le flood jaurai du faire tous en une foi

Commentaire de doug08 le 28/08/2006 11:57:03

Je n'arrive pas a centrer le tableau sur la page. Quelqu'un y est arriver  ?! MErci.

Commentaire de carate le 05/05/2007 14:54:06

chez moi sa va po

Commentaire de White Angels le 19/06/2007 12:46:27

N'utiliser pas sont script. il est faillible.

ouver ceci avec Internet Explorer : http://membres.lycos.fr/ceacy/avatars/avatar_polla.png

si j'aurais voulu, j'aurais upper un BackDoor pour hacker le ftp !

Commentaire de babatt92 le 19/06/2007 14:00:58

Effectivement.
Est ce que tu peux tester le mien http://www.AuStatueQuo.com

Commentaire de coucou747 le 19/06/2007 14:04:26 administrateur CS

tu fais ma pub pour ton site ?

Commentaire de babatt92 le 19/06/2007 14:46:16

Si on veut ;) mais bien remanié le code

Commentaire de coucou747 le 19/06/2007 14:59:02 administrateur CS

au bout de 10 minutes de jeu

http://sebastien.sajous.free.fr/absolut/index.php?Vol=Consult&LangID=1%20injection

en cherchant bien, on pourrait trouver comment injecter ici
http://sebastien.sajous.free.fr/absolut/Commun/index.php?RubID=2%20union%20select%201,1.1,1&LangID=1
idem ici
http://sebastien.sajous.free.fr/absolut/Commun/index.php?Expli=Accueil&RubID=5&Suite=2&PID=33%20OR%201=1&LangID=1
idem ici

voila, en esperant qu'ici  personne ne fasse joujou ou que tu puisses recoller les morceaux...
t'as de la chance de ne pas avoir afficher mysql_error() dans ta version de production ou la requette car la, j'aurais peut-etre pu avoir plus de resultats...

tu ne devrais pas faire de la pub pour ton site ici, c'est pas l'endroit

Commentaire de White Angels le 19/06/2007 17:20:32

babatt92 >> C'est ou qu'il y a un script d'upload ? XD

Commentaire de coucou747 le 19/06/2007 17:26:01 administrateur CS

nan mais cherche pas, il faisait juste de la pub pour son site

Commentaire de babatt92 le 19/06/2007 17:32:11

Je fais pas de pub, je n'y gargne rien.

http://sebastien.sajous.free.fr/absolut/index.php?Fiche=Telecharger&LangID=1

Commentaire de coucou747 le 19/06/2007 18:04:46 administrateur CS

si tu postais tes sources sur le forum, ca serait plus a sa place, et on pourrait te repondre plus vite...

Commentaire de bolox le 20/07/2007 14:42:55

bonjour, ce code m'a l'air parfait mais j'ai une erreur en executant la page :

Undefined variable: file_name.......on line 52

pourquoi ?

Commentaire de ceacy le 20/07/2007 20:18:27

Ce code n'est absolument plus conforme aux directives de sécurité actuelles. L'erreur doit être causée par le fait que sur ton serveur, la directive register_global est probablement à "off" (valeur conseillée) ...

Commentaire de mobman02 le 21/07/2007 11:23:40

Si vous cherchez quelque chose de plus "au gout du jour" pour un upload d'image, vous pouvez suivre ce petit tuto : http://blog.damienalexandre.fr/index.php?post/2006/04/13/87-upload-image-php-telecharge

Commentaire de neocoderz le 08/04/2008 04:48:27

ce code est vulnerable , possibilité d'uploader un fichier php

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

upload dans table [ par eax ] salut!je voudrais savoir s'il est possible d'uploader un fichier (une image par exemple) et le stocker dans un champ d'une base de données mysqlje vou Upload d'Image et resize de cette image [ par 4feeling ] je cherche un petit bout de script qui permettrai d'uploader une image jpeg et l'enregistrer dans une taille précise. Par exemple on uploade, et on en upload d'image [ par guikiki ] Bonjour à tous!!!voilà..encore un problème que je n'ai toujours pas réussit à résoudre et ce n'est pas faute d'essayer!!voilà, j'ai fait une page en i Upload image et limitation taille [ par millo ] Je suis entrain de dévellopé un script ou je propose l'upload de photo mais pour des raisons évidentes je souhaite limiter l'espace disque réservé pou upload d'images [ par G_ki_aime_pas_le_php ] Salut à tous!G un petit problème j'essaie d'uploader un fichier et ça fonctionne pas.G TOUT essayé j'en ai marre!Est ce que quelqu'un aurait la soluti afficher les image d'un repertoir et un sous repertoir + upload [ par angelx ] bonjour je voudrais afficher les image d'un reperoire et SOUS Repertoire + faire un uploade sans donner le chemin de l'image en utilisant les image ge Upload :) [ par GuilleW ] Bonjour bonjour,Je souhaite faire un Upload de fichier.pour cela j'ai un image , et je souhaiterai que lorsque l'on click sur cette image, elle lance Upload image .. j'ai cherché mais je ne comprends pas .. :S [ par Hash2o ] Voila, je suis a la recherche d'une solution pour uploader une image sur un serv. J'ai essayé la plus part des solutions proposer sur le site mais je pb de upload [ par filrouge13 ] Bonjour,Petit probl&#232;me de upload et de v&#233;rification de l'existence du fichier.J'ai r&#233;cup&#233;r&#233; ce code sur un forum, il devrait Upload apres Redimension d'une image jpg sous Free [ par MrManchot ] Tout d&#233;ja Bonjour a tous &nbsp;(c'est mon premier poste ici).Je suis d&#233;butant en php, et je n'arrive pas a Uploader apres avoir redimensionn


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,505 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales