La base de données des scripts PHP - ASP & PERL
Programmation Web Hebergement

PHP ASP PERL

Gratuit Mutualisé Dédié
Rechercher


 
membres
S'inscrire

Mail : 
Passe : 
oublié ?
 
services
Développement
Kits graphiques
E.JavaScript
Domaines
Referencement
 
comscripts
Scripts PHP
Scripts ASP
Scripts PERL
Sources PHP
Sources ASP
Sources PERL
Les Ateliers
 
ressources
Les Livres
Forums
Liens
Faire un lien
Refrapide
 
partenaires
Kits Graphiques
Pc Land
Easy-Script.Com
Annu Marseille
CréEr Son Site
CréEr Un Forum
Je Javascript
Le Zapping Du N
Who Is Using
Referenceur
Le Phénomène
Votre site ?

Vérifier la disponibilité d'un nom de domaine


Class d'upload class.upload  
 Informations rapides
Catégorie : PHP Auteur : Deepblue
Sous-Catégorie : Fichiers Ajouté le : 05-03-2006
Langage : PHP  CSID : S297
Visites de la page : 6053    

 Informations détaillées
Description :

Class d'upload très simple d'utilisation :
Dans un premier temps, vous avez la class et ensuite un exemple d'utilisation :)

Portion de code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
// CLASS -----------------------------------------------------------------------
--------------------
// PAGE NOMMEE : class.upload.php

/* CLASS D'UPLOAD -------------
# CREEE PAR SIMON VIEILLE
# simon_AT_geneweb.fr
# www.geneweb.fr
-----------------------------------*/


class Upload
{
 
 var $dossier// dossier ou les fichiers vont etr uplodé
 var $max_size// taille max des fichiers (en octets)
 var $type// type de fichiers autorisés
 var $page// page cible du formulaire
 var $nb_file// nombre de fichiers a uploder
 
 function Upload($nom_page, $_dossier, $_type, $_max_size, $_nb_file)
 {

  $this->type  = $_type;
  $this->dossier  = $_dossier;
  $this->max_size = $_max_size;
  $this->page  = $nom_page;
  $this->nb_file = $_nb_file;
 }
 
 function uploading()
 { 
  // On test si le dossier d'upload existe 
  $open = @opendir($this->dossier);
  // Si non, on le crée
    if(!$open) mkdir($this->dossier);

  $repertoireFichiers = $this->dossier;
  $extAutorisees = $this->type;
  
  // on compte le nombre du fichier envoyé par le formulaire
  $nb_file_envoyes = count($_FILES);
 
  $x = 1;
  while($x <= $nb_file_envoyes)
  {
   // si le formulaire a été posté
   if(!empty($_FILES["file".$x]["name"])) 
   {
    // Les informations concernant le fichier
    
    $nomFichier = $_FILES["file".$x]["name"]
    
    // SI le fichier existe, on lui rajoute le timestamp devant son nom   
    if(file_exists($this->dossier."/".$nomFichier)) $fichier = time()."-".$nomFi
chier;
    else $fichier = $nomFichier;
    
    $temporaryName = $_FILES["file".$x]["tmp_name"];
    $tailleFichier = $_FILES["file".$x]["size"];
    $typeFichier = $_FILES["file".$x]["type"];
    $maxSize = $this->max_size;
    
    // On trouve son extension
    $ext = explode(".", $nomFichier);
    $extension = $ext[count($ext)-1];
       
    // Si l'extension et que la taille du fichier son bons
       if (in_array($extension, $this->type) && $tailleFichier <= $maxSize && $t
ailleFichier != 0)
    {
     $upload = move_uploaded_file($temporaryName, $this->dossier."/".$fichier) o
die ("Erreur lors de l'envoie ".$nomFichier."<br />");
     if($upload) print $nomFichier." envoyé<br />";
    }
    
    // Si il y a une erreur  
    else 
    {
     if ($tailleFichier > $maxSize)
     print "La taille de".$nomFichier." est trop importante<br />";
     elseif (!in_array($extension, $extAutorisees))
     print $nomFichier." n'est pas un fichier autorisé !<br />";
     else
     print "Il y a une erreur, recommencez<br />";
    }                 
       }
  $x++;
  }
   // Si le formulaire n'a pas été posté
   if(!isset($_POST["file"])) 
   {
     print '<form action="'.$this->page.'" name="upload" method="post" enctype="
multipart/form-data">'."\n";

      print ' <div>'."\n"
       print '  <input type="hidden" name="file"  />'."\n";     
      $u = 1;
      while($u <= $this->nb_file)
      {
       print '  <input type="file" name="file'.$u.'"  /><br />'."\n";
       $u++;
      }    
       print '  <input type="submit" name="envoyer" value="envoyer" />'."\n";
      print ' </div>'."\n";  
     print '</form>'."\n";
   }
   
 }
}



// EXEMPLE D'UTILISATION -------------------------------------------------------
---------------------
// DANS LA PAGE QUI PROPSERA LE FORMULAIRES ET DANS LA PAGE CIBLE DU FORMULAIRE

include("class.upload.php");

// on fait un tableaux des extensiosn autotisées
$type_autorise = array("jpg", "JPG", "gif", "GIF", "bmp", "BMP","png", "PNG", "p
ps", "PPS", "pdf", "PDF", "jpeg", "JPEG", "swf", "SWF");

// Le nom de la page cible du formulaire
$nom_page = "class.upload.php";
// Nom du dossier ou vont etre uploadé les fichiers
$dossier = "file";
// taille max des fichiers (en octets : 1ko = 1024 octets)
$taille = 500000;
// nombre de fichiers a uploder
$nb_file = 5;

$up = new Upload($nom_page, $dossier, $type_autorise, $taille, $nb_file);
$up->uploading();
?>  



 Les Commentaires

Soyez le premier à rédiger un commentaire sur ce code source !

Ajouter  

 Informations & Services  

Je désire recevoir ce code source par email.
Je désire recevoir la Newsletter de ComScripts.

Newsletter
91 149 abonnés

Autre Sources
 Fichiers
- Liste des fi.
- Uploader un .
- Lire le cont.
- Contenu d'un.
- Lister la st.

Tips
 Fichiers
ASP (3)
PERL (2)

Windows 98, 2000 et XP


  Le bon plan du moment  

Gen. en 0.09661sec. Retour à la page d'accueil
Copyright © 2005 - Visialis - RCS Nanterre 478 885 122 - Tous droits réservés - Nous contacter haut de page

Valid XHTML 1.0! Valid CSS!