Récupèrer le chemin d'un fichier sur le serveur distant

Contenu du snippet

L'utilisation de la balise CFFILE nécessite de connaître le chemin absolu pour uploader les fichiers. La fonction ExpandPath permet de récupérer ce chemin.
Dans l'exemple suivant, la variable Application.doc_folder est déclarée dans le fichier Application.cfm. Elle doit contenir le chemin absolu où devront être placés les fichiers téléchargé par l'utilisateur. Le dossier cible s'appelle documents, mais CFFILE requiert le chemin absolu "à partir de la racine".
En donnant à la fonction ExpandPath le chemin du dossier "à partir de la racine du site", on obtient le chemin absolu du dossier sur le serveur distant.
Il suffit ensuite d'utiliser cette variable dans l'attribut destination de la balise CFFILE.

Source / Exemple :


<cfset Application.doc_folder=ExpandPath("documents\")>

<cffile action="UPLOAD" 
      filefield="ffichier" 
      destination="#Application.doc_folder#"
      nameconflict="makeunique"
      attributes="hidden">
<cfset sfichier = GetFileFromPath(#cffile.serverfile#)>

Conclusion :


Remarque : dans l'exemple, la valeur makeunique est affectée à l'attribut nameconflict de CFFILE. Ainsi, si le fichier uploadé existe déjà dans le dossier destination, il est automatiquement renommé. La variable cffile.serfile contient alors le nouveau nom du fichier (avec son chemin) et la fonction GetFileFromPath permet d'isoler le nom du fichier.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.