Designed by Maunakea !
37 en ligne
  Forum | Actu | Glossaire | Codes | Tips | Liens | Livres | Annuaire
 

 Recherche





   

L'upload en PHP (1/3)

Les différentes possibilités pour vos visiteurs





AllJinx
L'upload reste toujours une opération délicate sur un site WEB. Pour ceux qui rencontrent encore des problèmes avec ces manipulations, voici quelques exemples de ce que vous pouvez proposer à vos visiteurs.


Nombreux sont les messages de demande d'aide concernant l'upload sur les forums. Je vous propose donc de passer en revue quelques méthodes, à travers des exemples concrets, afin de vous aider à bien comprendre leurs fonctionnement.

Nous verrons ensemble :

- l'envoi multiple : un petit script JavaScript pour se mettre en bouche en dynamisant vos formulaires
- l'envoi standard par formulaire : nous réaliserons un mini album photo
- l'envoi de fichier par ftp : nous réaliserons un mini client ftp


Dans un soucis de clarté, j'ai essayé de ne pas trop encombrer ces exemples avec du code superflux. Neanmoins, pour obtenir des résultats plus contrôlés et plus agréables à l'oeil, vous devrez les agrémenter d'un petit peu de code supplémentaire de votre facture. Pour celà, pensez à lire les petits encadrés de suggestions, où je vous rappelerez ce qui peut être utile de rajouter dans le cas où vous souhaiteriez utiliser ces exemples sur vos sites.



L'envoi multiple
Un peu de JavaScript pour votre formulaire


Avant de se jeter gaiment dans les joies du PHP, je vous propose un petit script JavaScript pour rendre votre formulaire d'envoi un peu moins terne.
Ce script permet de générer des champs automatiquement à chaque fois que le visiteur en a sélectionné un. Il pourra ainsi envoyer plusieurs fichiers à la fois.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript">

var Nb=1; // Cette variable nous permettra de compter le nombre de champs affichés

function AjoutChamps(LeParam){

   Nb++; // On incrémente notre variable de nombre de champs
   
   // On crée une copie de notre champs de fichier à l'aide de la fonction ClondeNode et on la renomme
   LeFile=document.getElementById("Champ"+(Nb-1)).cloneNode(true);
   LeFile.name="Champ"+Nb;
   LeFile.id="Champ"+Nb;
   
   // On ajoute notre nouveau champ à notre formulaire
   document.getElementById("LesChamps").appendChild(LeFile);
   
   // On crée un élément <br> que l'on rajoute pour faire un retour chariot, c'est plus élégant
   LeRetourChariot=document.createElement("br");
   document.getElementById("LesChamps").appendChild(LeRetourChariot);
   
   // On supprime la méthode onChange du champs du notre avant dernier champs pour qu'il ne crée
   // pas de nouveaux champs lorsque on le modifie (ce n'est que le dernier champs qui doit en rajouter)
   document.getElementById("Champ"+(Nb-1)).onchange="";
   
   if(Nb==10){ // Ici on considère que l'on veut que que le visiteur puisse avoir que 10 champs maxi
      // Donc, si notre variable est à 10, on supprime la méthode onChange pour ne plus pouvoir
      // créer de champs supplémentaires
      document.getElementById("Champ"+(Nb)).onchange="";
   }
}

</script>

</head>
<body>

   <p align="center">
      <strong>UPLOADS</strong>
   </p>
    
   <form action="uploadsjava.php" enctype="multipart/form-data" method="post" name="LeForm" id="LeForm">
      <div id="LesChamps" align="center"> 
        <input NAME="Champ1" TYPE="file" id="Champ1" onChange="AjoutChamps(this.Nb);" size="60"><br>
        <!-- C'est ici que seront rajoutés les champs supplémentaires -->
      </div>
   </form>

</body>
</html>



Cet exemple ne contient volontairement pas de bouton d'envoi, tout simplement parce-que le but de celui-ci est de vous expliquer comment fonctionne ce script.

 Suggestions 
Pensez à appliquer vos styles CSS au formulaire !


Pour pouvoir écrire dans ce forum, identifiez-vous !

 Lire  29/10/11 13:57 de souad89
je veux telecharger les cours php w n'a pas boutton p...
  • 29/10/11 13:58 de souad89 je veux telecharger les cours php mais...
  •   v1.3p © ASP-PHP.net 2002  

    AllJinx le 28/12/2005 (77 831 hits)
    Didier Téléchargez gratuitement et légalement des logiciels Microsoft ! Si, si ;)
    • Visual Studio 2010
    • Office 2010
    • Expression Studio 3
    • SQL Server 2008
    • et d'autres...
    Au fil des news  
    PHP - Drupagora : 1ère edition
    Utiliser Reporting Services pour des NewsLetter - SQL Server Reporting Services et les NewsLetters
    Le moteur de rapport inclus dans Microsoft SQL Server permet de créer de nombreux rapports ...
    Changer la page d'erreur 401 SharePoint - La page d'erreur d'authentification SharePoint
    Avec l'authentification classique des sites SharePoint, l'erreur d'authentification est gérée par ...
    PHP - Graphique de l'angle du soleil en fonction du lieu
    PHP5 - Graphique de l'angle du soleil en fonction du lieu
    Adobe - Disponibilité d'Adobe Creative Suite 5.5
    Les Thèmes dans SharePoint 2010 - Gérer les thèmes dans SharePoint 2010
    SharePoint 2010 apporte de nombreuses modifications dont certaines dans le principe des thèmes.
    JavaScript - fonction qui affiche l'heure à travers javascript
    Installer SharePoint Foundation 2010 sur Windows 7 - Installer SP Foundation 2010 sur Windows Seven
    Lorsque l'on souhaite développer dans le monde SharePoint, il existe plusieurs solutions. La ...
    SharePoint et SQL Server 2008 R2 Report Server - Comment accéder à SharePoint depuis SSRS 2008 R2
    Depuis la première version, la solution de rapport proposée par Microsoft "SQL Server Reporting ...
    JS - Envoi d'un formulaire après chargement d'une image
    Divers - Bannir une ip dans le global asax
    Dreamweaver CS5 - Nouvelle version Dreamweaver CS5
    Déjà plus de 6 mois que le produit est sorti, il fallait bien que je vous en parle un peu. Je vous ...
    SharePoint Output Caching dans un site Intranet - Comment utiliser le cache dans un site Publishing
    Afin de permettre l'amélioration des performances de sa ferme MOSS utilisée pour le site portail ...
    Adobe - Adobe lance le Musée Adobe des Médias Numériques
    Adobe - Adobe lance HTML5 Pack pour Illustrator CS5
    PHP - Forum PHP 2010 : Le programme
    Magazines - Le numéro 133 de programmez est disponible
    Adobe - Adobe lance des applications Photoshop Express....
    PHP - Détermination de l'intersection entre 2 segments
    Magazines - Le N°132 de Programmez est disponible
    Les alertes dans SharePoint 2007 - Comment SharePoint 2007 gère les User Alerts
    Une des fonctionnalités de base de SharePoint, aussi bien dans Windows SharePoint Services (WSS) ...
    Adobe - Photoshop.com Mobile pour Android 1.2
    Adobe - Adobe dévoile une technologie de lecture.......
    PHP - Experts PHP : participez au Forum PHP 2010 !
    PHP - Fobec.com - Code source PHP & javascript
    Foliotage alphabétique - Lister sur la première lettre d'un champ
    Pour faire suite à l'article de JPierre sur la pagination alphabétique, voici, en ASP et en PHP, ...
    Dreamweaver CS4 + Php + Mysql - Pagination alphabétique
    Je vous propose la création d'une barre de navigation ou pagination alphabétique pour filtrer les ...
    Adobe - HTML5 dans Dreamweaver CS5
    VBScript - Déterminer si un chemin est absolu ou relatif
    VBScript - Lire/écrire un fichier texte
    Magazines - Le N°130 de Programmez est disponible
    Hebergement - Hébergement à prix libre
    Adobe - Adobe Creative Suite 5
    PHP - Calcul de la date de Pâques
    Magazines - Le N°128 de Programmez est disponible
    Magazines - Le N°127 de Programmez est disponible
    Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 6
    Pour continuer dans le même style, je vous propose une suite au précédent article. Rechercher tous ...
    Adobe - Adobe Photoshop.com Mobile pour iPhone 1.1
    JavaScript - Ajouter une page dans vos favorites
    Tutorial : HTML | Scripting | ASP-PHP | ASP.net | SQL Server | XML
    Sharepoint | XAML | Pocket | Dreamweaver | VML | Divers
      Scripts : Scripting | ASP-PHP | ASP.net | Divers
      Boutique | Annuaire | Bannières | Météo | Tribune | Partenariats
    v3b © Didier 2003   
     

    Corpo Sciences de Reims Partitions gratuites Carte, météo, annonces
     MVP DotNet Project Groupes Utilisateurs Microsoft TechNet ASP-magazine