Upload de fichiers (1/2)
Vos visiteurs déposent des fichiers sur votre site
Il peut être parfois intéressant de permettre à vos visiteurs de participer au remplissage du site sans pour autant leur donner les clefs du FTP... Si en PHP le principe est simple, en ASP par contre il importe qu'un
composant spécifique ait été installé par l'administrateur du serveur... et chaque composant a, évidemment, une syntaxe spécifique...
AspSmartUpload décrit brièvement ici est le plus fréquemment rencontré chez les hébergeurs... il est gratuit :) Sinon sans composant , c'est possible aussi...
Comment ça marche ?
Un formulaire permet au visiteur de sélectionner un fichier sur son PC
<FORM METHOD="POST" ENCTYPE="multipart/form-data"> <INPUT TYPE=FILE NAME="userfile"><BR> <INPUT TYPE=SUBMIT value="Enregistrer le fichier"> </FORM>
Un composant doit être installé sur le serveur(ici c'est AspSmartUpLoad)
<% Set mySmartUpload = _ Server.CreateObject("aspSmartUpload.SmartUpload")%>
On indique au composant la taille maxi acceptée pour les fichiers (en octets)
<%mySmartUpload.MaxFileSize = 1024%>
On déclenche l'upload
puis la sauvegarde du fichier dans le répertoire déprotégé de notre choix
<%intCount = mySmartUpload.Save(rep)%>
enfin on récupère une erreur éventuelle
<%if err then response.write err.description%>
ou les infos sur les fichiers uploadés
<% For each file In mySmartUpload.Files %> <BR>Nom : <%=file.FileName%> <BR>Taille : <%=file.Size%> octets <BR>Type : <%=file.ContentType%> <% next%>
Un formulaire permet au visiteur de sélectionner un fichier sur son PC, la taille maxi autorisée est transmise (en octets) dans un champ "hidden"
<FORM METHOD="POST" ENCTYPE="multipart/form-data"> <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=1024> <INPUT TYPE=FILE NAME="userfile"><BR> <INPUT TYPE=SUBMIT value="Enregistrer le fichier"> </FORM>
si le form est parti, $_FILES["userfile"] est définie :
<? if(isset($_FILES["userfile"])) { ?>
si l'upload s'est bien passé, l'élément size est > à 0
<? if($_FILES["userfile"]["size"]>0) { ?>
on construit alors le nouveau path
<? $savefile= $rep.$_FILES["userfile"]["name"]; ?>
et on déplace le fichier temp au bon endroit
<? $temp = $_FILES["userfile"]["tmp_name"]; if(move_uploaded_file($temp, $savefile)) { ?>
les infos disponibles sur le fichier sont (entre autres)
<BR>Nom : <? echo $_FILES["userfile"]["name"]; ?> <BR>Taille : <? echo $_FILES["userfile"]["size"]; ?> o <BR>Type : <? echo $_FILES["userfile"]["type"]; ?>
Et pour plus d'infos
sur l'upload en PHP
$_FILES or not ? :)
sur le composant AspSmartUpload
sur le composant SA-FileUp (by Ludo)
sur l'upload en ASP sans composant
Note : Votre dossier d'upload doit être déprotégé en écriture...
- en ASP : contacter l'admin du serveur ou utiliser le répertoire des BD
- en PHP : click droit avec le client FTP sur le dossier et CHMOD 0777
Didier le
01/09/2009
(522 267 hits)
Au fil des news 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 Dreamweaver CS4 + Php + Mysql - Trucs et Astuces - Part 5 - Je vous propose cette fois deux astuces. Comment exporter une feuille de style avec l'aide de ... SharePoint Personalization Site Links - Les liens personnalisés des MySite SharePoint Nous avons vu dans les articles précédents comment agrémenter les pages de recherche afin de ... Magazines - Le n°126 de Programmez est disponible Outils - Traducteur en ligne automatique pour site web Adobe - Adobe Photoshop.com Mobile pour Iphone Magazines - Le n°125 de Programmez est disponible Adobe - Adobe AIR 2 et Flash Player 10.1version bêta Les conférences autour des technologies Microsoft - Liste non exhaustive des grands évènements Nous allons essayer de regrouper un grand nombre des évènements autour des technologies Microsoft ... Magazines - Le n°124 de Programmez est disponible PHP - Forum PHP 2009 Composants - eFace - XAML en Java WPF - Désactiver le bouton de réduction d'une fenêtre Magazines - Le n°123 de Programmez est disponible Magazines - Le n°122 de Programmez est disponible Auditer une ferme SharePoint - Assurer le bon fonctionnement de SharePoint Dans le cadre de la bonne gestion de son environnement SharePoint, il est utile de faire un ... SQL Server 2008 Report Builder 2.0 - Installation et utilisation de Report Builder 2.0 Dans le cadre de la création de rapports pour SQL Server Reporting Services 2008, un outil est ... Magazines - Le HS N° 1 de Web Design est disponible Adobe - Adobe propose en Open Source les frameworks..... Outils - EntityBuilder CSharp - Sérialisation XML de vos objets Magazines - Le n°121 de Programmez est disponible Adobe - Adobe annonce MAX 2009 ! Outils - WhoIs [MAJ] Dreamweaver MX + Php + MySql - Les formulaires - partie 3 Mise à jour du code, par DB 77, affichage du code erreur, dans la page erreur.php, traduction des ... PHP - News avec photo - Système de gestion - affichage Gestion - Administration - Affichage d'une "News", "Actualité", "Info", ... avec : - mise en forme ... Outils - Crypt Dreamweaver Php Mysql - Région répétée imbriquée Je rebondis, sur un post du forum, pour vous montrer comment obtenir grâce à l'extension Simulated ... Magazines - Le n° 120 de Programmez est disponible Gérer les bases de contenu SharePoint - Gérer la croissance du volume des données Dans le cadre de la gestion quotidienne de ferme SharePoint, il existe une partie qu'il faut ... PHP - Le Coach PHP sur Visual Studio .NET - Ecrire une application .NET utilisant MySQL PHP - Utilisation de PHP dans le monde Microsoft Magazines - Le n° 119 de Programmez est disponible Adobe - Adobe annonce Photoshop Marketplace [MAJ] Tutoriel AJAX simple - En avant vers le WEB2.0 Mis à jour le 20/04/2009