begin process at 2012 05 25 00:28:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichier / Disque

 > UPLOAD

UPLOAD


 Information sur la source

Note :
9,2 / 10 - par 5 personnes
9,20 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichier / Disque Niveau :Débutant Date de création :07/06/2004 Vu :7 936

Auteur : DHKold

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

 Description

Petite page permettant l'upload de fichiers dont l'extension est choisie.

Tutorial complet: http://www.siteduzero.com/vostutos/?s=viewtuto&tut oid=51

Source

  • <?PHP
  • //Initialisation de la variables $infos
  • $infos = '';
  • //Initialisation des variables du formulaire (mise à '' si elles sont vides)
  • empty($_POST['pseudo']) ? $pseudo = '' : $pseudo = $_POST['pseudo'];
  • empty($_POST['titre']) ? $titre = '' : $titre = $_POST['titre'];
  • //Vérification du pseudo et du titre
  • if ($titre == '') $infos .= "- Vous devez définir un titre!<br>n";
  • if ($pseudo == '') $infos .= "- Vous devez entrer votre pseudo!<br>n";
  • //Pour savoir si le fichier a été uploadé, on vérifie que le fichier est bien dans le tableau des fichiers
  • if (!empty($_FILES['fichier1']['size'])){
  • //On récupère la taille, le nom et le nom du fichier temporaire
  • $f1_size = $_FILES['fichier1']['size'];
  • $f1_name = $_FILES['fichier1']['name'];
  • $f1_tmpname = $_FILES['fichier1']['tmp_name'];
  • //Récupération de l'extension du fichier (on prend ce qui suit le dernier point et on le met en minuscule
  • $ext = strtolower(substr($f1_name,strrpos($f1_name, ".")+1));
  • //Création du tableau des extensions acceptées
  • $valides = array("bmp","jpg","gif","png","tif","wbmp");
  • //On vérifie la taille et le type de fichier
  • if ($f1_size > 1000000) $infos .= "- Le fichier est trop volumineux!<br>n";
  • if (!in_array($ext,$valides)) $infos .= "- Ce type de fichier n'est pas accepté!<br>n";
  • //Si tout est bon (aucune erreur dans $infos), on déplace le fichier
  • if ($infos == ''):
  • move_uploaded_file($f1_tmpname, "./fichiers/{$f1_name}") or $infos .= "- Impossible d'enregistrer le fichier, contacter le webmaster!<br>n";
  • if ($infos == ''){
  • $res = mysql_connect('localhost','root','');
  • mysql_select_db('fichiers',$res);
  • $add = mysql_query("INSERT INTO uploads VALUES ('','{$titre}','{$pseudo}','{$f1_name}',{$f1_size});");
  • }
  • endIf;
  • }else $infos .= "- Vous devez sélectionner un fichier à uploader!<br>n";
  • //Si le formulaire n'a pas encore été validé, on n'affiche pas les erreurs
  • if (empty($_POST['MAX_FILE_SIZE'])) $infos = '';
  • //Si il y a eu une erreur ou si le formulaire n'a pas encore été validé (Facile à savoir, tant que le formulaire n'est pas validé, MAX_FILE_SIZE est vide), on l'affiche
  • if ($infos != '' || empty($_POST['MAX_FILE_SIZE'])):
  • //Affichage des informations d'erreur au début du formulaire
  • ?>
  • <span style="color:red"><?PHP echo $infos; ?></span><br>
  • <form name="envoie" method="post" action="envoie.php" enctype="multipart/form-data">
  • Pseudo: <input type="text" name="pseudo" size="30" maxlength="30" value="<?PHP echo $pseudo; ?>"><br>
  • Titre du fichier: <input type="text" name="titre" size=30 maxlength=50 value="<?PHP echo $titre; ?>"><br>
  • <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  • Fichier: <input type="file" name="fichier1"><br>
  • <input type="submit" value="Envoyer!">
  • </form>
  • <?PHP ENDif;
  • if ($infos == '' && !empty($_POST['MAX_FILE_SIZE'])){
  • ?>
  • BRAVO, transfer réussi!
  • <?PHP } ?>
<?PHP
//Initialisation de la variables $infos
$infos = '';

//Initialisation des variables du formulaire (mise à '' si elles sont vides)
empty($_POST['pseudo']) ? $pseudo = '' : $pseudo = $_POST['pseudo'];
empty($_POST['titre']) ? $titre = '' : $titre = $_POST['titre'];

//Vérification du pseudo et du titre
if ($titre == '') $infos .= "- Vous devez définir un titre!<br>n";
if ($pseudo == '') $infos .= "- Vous devez entrer votre pseudo!<br>n";

//Pour savoir si le fichier a été uploadé, on vérifie que le fichier est bien dans le tableau des fichiers
if (!empty($_FILES['fichier1']['size'])){
//On récupère la taille, le nom et le nom du fichier temporaire
$f1_size = $_FILES['fichier1']['size'];
$f1_name = $_FILES['fichier1']['name'];
$f1_tmpname = $_FILES['fichier1']['tmp_name'];

//Récupération de l'extension du fichier (on prend ce qui suit le dernier point et on le met en minuscule
$ext = strtolower(substr($f1_name,strrpos($f1_name, ".")+1));
//Création du tableau des extensions acceptées
$valides = array("bmp","jpg","gif","png","tif","wbmp");

//On vérifie la taille et le type de fichier
if ($f1_size > 1000000) $infos .= "- Le fichier est trop volumineux!<br>n";
if (!in_array($ext,$valides)) $infos .= "- Ce type de fichier n'est pas accepté!<br>n";

//Si tout est bon (aucune erreur dans $infos), on déplace le fichier
if ($infos == ''):
move_uploaded_file($f1_tmpname, "./fichiers/{$f1_name}") or $infos .= "- Impossible d'enregistrer le fichier, contacter le webmaster!<br>n";
if ($infos == ''){
  $res = mysql_connect('localhost','root','');
  mysql_select_db('fichiers',$res);
  $add = mysql_query("INSERT INTO uploads VALUES ('','{$titre}','{$pseudo}','{$f1_name}',{$f1_size});");
}
endIf;
}else $infos .= "- Vous devez sélectionner un fichier à uploader!<br>n";

//Si le formulaire n'a pas encore été validé, on n'affiche pas les erreurs
if (empty($_POST['MAX_FILE_SIZE'])) $infos = '';

//Si il y a eu une erreur ou si le formulaire n'a pas encore été validé (Facile à savoir, tant que le formulaire n'est pas validé, MAX_FILE_SIZE est vide), on l'affiche
if ($infos != '' || empty($_POST['MAX_FILE_SIZE'])):
//Affichage des informations d'erreur au début du formulaire
?>



<span style="color:red"><?PHP echo $infos; ?></span><br>
<form name="envoie" method="post" action="envoie.php" enctype="multipart/form-data">
Pseudo: <input type="text" name="pseudo" size="30" maxlength="30" value="<?PHP echo $pseudo; ?>"><br>
Titre du fichier: <input type="text" name="titre" size=30 maxlength=50 value="<?PHP echo $titre; ?>"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
Fichier: <input type="file" name="fichier1"><br>
<input type="submit" value="Envoyer!">
</form>
<?PHP ENDif;
if ($infos == '' && !empty($_POST['MAX_FILE_SIZE'])){
?>


BRAVO, transfer réussi!
<?PHP } ?>

 Conclusion

Vous devez créer la table suivante:

CREATE TABLE `uploads` (  `id` int(5) NOT NULL auto_increment,  `titre` varchar(100) NOT NULL default '',  `pseudo` varchar(50) NOT NULL default '',  `name` varchar(50) NOT NULL default '',  `size` int(11) NOT NULL default '0',  UNIQUE KEY `titre` (`titre`,`name`),  KEY `id` (`id`)) TYPE=MyISAM AUTO_INCREMENT=1;


Plus d'infos:

http://www.siteduzero.com/vostutos/?s=vi ewtuto&tutoid=51


 Sources du même auteur

MINI SHOUTBOX EASY-INSTALL
HIGHLIGHT HTML : COLORISATION DE CODE HTML
CRÉER DES MINIATURES D'IMAGES (THUMB)
Source avec Zip PETITE GALERIE DYNAMIQUE
CODES RGB ET HEXA DES COULEURS.

 Sources de la même categorie

SUPPRESSION AUTOMATIQUE DES FICHIERS RAW ORPHELINS APRÈS UN ... par malokaff
UPLOADER DES FICHIER DANSUN DOSSIER, SÉCURISÉ AVEC MOT DE PA... par raizzo
COMPTEUR DE VISITES SUR FICHIER par pierreSabatier
FONCTION RECURSIVE DE DOSSIERS par tefa24600
Source avec Zip CONVERSION DES UNITÉS INFORMATIQUE (O, KIO, MIO, GIO, TIO...... par genetApt151

Commentaires et avis

Commentaire de chanlle le 15/04/2005 18:35:27

Salut,
Tres bien mais le formulaire envoie.php
Comment on le fait ?

Merci

Commentaire de DHKold le 17/04/2005 14:26:15

Je ne comprends pas bien ta question. Le formulaire est en HTML, c'est tout ce qui est entre <form...> et </form>

Commentaire de chanlle le 17/04/2005 15:59:01

Excuse j'ai compris on appele la page envoie.php , je l'avais nommé autrement.
Merci

Commentaire de coton rough le 28/05/2005 17:03:40

Salut moi le problème vient du fait que je n'arrive pas à créer une base de données...je débutes en php

Sinon tout le reste je comprends ;-)
Merci d'avance

Commentaire de DHKold le 29/05/2005 00:53:22

je te conseille donc de lire les cours sur le siteduzero:

www.siteduzero.com ;)

Commentaire de coton rough le 30/05/2005 15:01:28

merci beaucoup...j'y cours

Commentaire de seude le 28/07/2006 17:33:32

bonjour à tous,

je fais un uploade fichier et il y a erreur du genre
Warning: copy(/var/www/html/projets/oristano/src/admin/fichier/sry): failed to open stream: Permission denied in /var/www/html/projets/oristano/src/admin/scripts/produitsMod.php on line 159

je ne sait pas pourqoui, est-ce que quelqun pourrait m'aider svp

Commentaire de MaitreLgTbD le 05/06/2009 17:30:32

Bonjour,

felicitation pour ton code
une petite question si tu t'es encore vivant y'a moyen de récupéré l'url du chemin d'acces du fichier? afin que la personne puisse le retelecharger apres l'avoir uploader?

Merci =)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,154 sec (4)

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