L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle
     ClickInText
     XooIt

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
122578 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kit graphique
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Compteur live
     Créer un forum
     Le PHP facile
     Comscripts
     Liens sponsorisés
     Blog
     Page Rank
     Gifs animés, f...
     Poésie et cita...
     Azote.org - no...
     Easy-script.com
     Web creation ...
     Je crée mon site
     Outils de créa...
     Electroniq...
     K i s s design
     Créer son site...
     Les autres
     Votre site ici ?


Article posté par : riphper
Date de mise en ligne : 29-03-2005
Niveau : Assez facile
>> Ajouter un article

Petit script d'upload simple mais fonctionnel, même chez fr**.fr



Interêt

L'interêt d'utiliser cette methode est de permetre par exemple à vos visiteurs de pouvoir uploader des photos ou "autres types de fichiers" sur votre site.

Composition du script

Le script ce compose en deux parties, la première est la page du formulaire : upload.html et la seconde est la page contenant le script php qui upload le fichier sur le serveur : upload.php3

Upload.html

Simple page "formulaire".


<html>
<head>
</head>
<body>
<form enctype="multipart/form-data" action="upload.php3" method="post">
Fichier : <input name="fichier" type="file"><br>
<input type="submit" value="Envoyer">
</form>
</body>
</html>


Upload.php3

Page php avec commentaires rajoutés.

<?
// Taille maximum
$MAX_FILE_SIZE = 150000;

// Dossier de destination du fichier
$folder = "./";

// Tableau array des différents types
$allowed_types = array("image/bmp", "image/gif", "image/pjpeg", "image/jpeg", "image/jpg", "multipart/x-zip", "video/msvideo");

// Variables récupérée par methode POST du formulaires
$fname = $HTTP_POST_FILES['fichier']['name'];
$ftype = $HTTP_POST_FILES['fichier']['type'];
$fsize = $HTTP_POST_FILES['fichier']['size'];
$ftmp = $HTTP_POST_FILES['fichier']['tmp_name'];

// Diverses test afin de savoir si :
// Le format de fichier correspond à notre tableau array
if(!in_array($ftype, $allowed_types)){$error = 1;}

// La taille du fichier n'est pas dépassée
if($fize > $MAX_FILE_SIZE){$error = 2;}

// Le fichier n'existe pas déjà
if(file_exists($folder."m_".$fname)){$error = 3;}

// Si tout va bien, c'est bien déroulé
if(copy($ftmp,''.$folder.''.$fname.'')) {$error = 0;}

// Switch servant simplement à la gestion des erreures
switch($error){
case'0':
echo("Fichier correctement envoyé.");
break;
case'1':
echo("Format de fichier incorrecte.");
break;
case'2':
echo("Fichier trop volumineux.");
break;
case'3':
echo("Fichier déjà existant.");
break;
}
?>


Je tiens à préciser trois choses très importante :
- Ce code a été écris de la manière la plus simple et la plus accessible à tous.
- Ce n'est en rien une façon sécurisée, elle est juste fonctionnelle.
- Elle fonctionne chez presque tout les hébérgeurs, mais verifier le cache (3mo je crois)



Annotations des visiteurs :

De AdiStyle - le 18-09-2010

Bonjour je voudrai que les images s'affiche après l'upload s'il est réussi ... comment faire ?
Merci d'avance, AdiStyle
De coolnet - le 09-08-2008

SALUT

c'est bien marché avec moi mais le seul problème le script ne donne pas le URL de fichier uploader je veux savoir comment on ajoute cette option

merci
De full - le 04-03-2007

Juste une question?........... c'est quoi l'équivalent fichier pour un exe parce que image/gif .... ok Mais ?????*exe... MERCI :o)
De persia77 - le 03-12-2006

ni l'un ni l'autre
De Ruru - le 29-11-2005

Avec free pardon
De Ruru - le 13-11-2005

Mais *-* jy arrive pas avec lycos, je créé un bloc notes, ensuite je léberge avec file zilla, mais aprés tout marche sauf quand je mets mon image et que je mets envoyer... aidez-moi!
De stephforum - le 06-11-2005

bonjour, le script fonctionne bien pour une image mais comment fait ton pour etendre l'autorisation aux autres formats (wmv par exemple) ?
Y a t'il un moyen d'ajouter un code qui indique le lien du fichier une fois celui-ci charger ?
De riphper - le 25-08-2005

Il est tout à fait possible que ce soit votre hébergeur !!
Merci aux personnes ayant postées des détails afin d'affiner ce script.
Surtout le : $HTTP_POST_VARS / $_POST
De cecemf - le 19-08-2005

Je suis desoler mais moi quand j'upload un fichier Lycos me dit page non-existante.

Ca viens de mon hebergeur ou c'est parceque j'utilise Firefox ???
De Rothlis - le 31-03-2005

Oups, je me suis trompé :D, il faut plutôt faire cela :
// Si tout va bien, c'est bien déroulé
if(!$error)
if(copy($ftmp,''.$folder.''.$fname.'')) {$error = 0;}


a+
De Rothlis - le 31-03-2005

Ton script marche bien (même avec les $HTTP_POST_FILES) mais ton système d'erreur a une faille. Il faut verifier qu'il n'y a pas d'erreur avant d'effectuer le copy(). Voici comment faire :
// Si tout va bien, c'est bien déroulé
if(copy($ftmp,''.$folder.''.$fname.'') && !$error) {$error = 0;}


a+
De moogli - le 31-03-2005

Salut,

Le tableau a utiliser est $_FILES (avec un S :) )

Il y a un exemple complet (plus a jour) dans dans la doc php http://www.php.net/manual/fr/features.file-upload.php


@+
De kiki92 - le 31-03-2005

Re coucou encore,

Comment faire en sorte qu'après avoir eu le message comme quoi tout est bien arrivé à bon port, on puisse retourner automatiquement au bout de +/- 15 secondes par exemple vers le lien ou est le fichier upload.html ?

Merci d'avance.
De kiki92 - le 31-03-2005

Bonsoir,
Voilà un script que je cherchais depuis des lustres mais ,
Comment uploader un fichier son en real, ou mp3, ou en ogg ?
Quel est la bonne valeur pour le tableau ?

Merci d'avance.
De jo.jo - le 30-03-2005

Petite precision. Il faut utiliser $FILE au lieu de $HTTP_POST_FILES

>> Poster une annotation sur cette astuce

Retour à la liste des trucs et astuces





compteur gratuit
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
Internet services
Internet Services offre de nombreux services gratuits et de très bonne qualité pour dynamiser votre site Web ! Forums, chats, livre d'or, etc ...
http://www.i-services.net
Cat : Forum - sondages - compteurs
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
65973 membres
4643 comptes CountUs
1842 comptes myCircle

     LES FORUMS :
14 forums
40359 topics
191688 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Referencement" du jour par krucial
Pour savoir combien de pages de votre site sont indexées dans Google, il vous suffit de taper, dans la boite de recherche du moteur : "site:http://www.votresite.com";.
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2012 EJS - Tous droits réservés | CNIL N° 844440 | 12/02/2012 14:54:51 | Design by | Gen. en 0.484 sec.