Présentation
La classe CopixUploadedFile permet de gérer les opérations courantes lorsque vous souhaitez permettre à l'internaute d'uploader des fichiers vers votre application.
Exemple avec le formulaire suivant :
<form action="{copixurl dest="upload"}" enctype="multipart/form-data" method="POST">
Fichier : <input type="file" name="fichier">
</form>
ATTENTION Pour pouvoir uploader un fichier, il est nécessaire d'avoir les paramètres enctype="multipart/form-data" method="POST" dans la déclaration de la balise form.
et le code de l'action
//dans l'actiongroup
public function processUpload (){
//on va copier le fichier quelque part
//ou alors en utilisant CopixUploadedFile directement
if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
$fichier->move ($cheminDestination);
}
//... on effectue la suite des traitements
}
A savoir qu'il est également possible d'utiliser CopixRequest pour ce faire
public function processUpload (){
//on va copier le fichier quelque part
//en utilisant CopixRequest::getFile
if (CopixRequest::getFile ('fichier', $cheminDestination) !== false){
//la copie s'est bien passée
}
//... on effectue la suite des traitements
}
Méthodes
getTempPath
Cette méthode retourne le chemin temporaire dans lequel le fichier à été placé en attendant d'être déplacé.
Exemple
if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
$fichier->getTempPath ();
}
getType
Cette méthode retourne le type MIME du fichier tel que le navigateur du client nous l'a présenté.
Cette information n'est pas vérifiée par PHP ni par Copix. Vous ne pouvez donc pas vous y fier de façon certaine.
Exemple
if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
$fichier->getType ();
}
getName
Cette méthode retourne le nom du fichier tel que le navigateur du client nous l'a présenté.
Exemple
if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
$fichier->getName ();
}
getSize
Cette méthode retourne la taille du fichier en octet.
Exemple
if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
$fichier->getSize ();
}
getError
Cette méthode statique permet de connaître l'erreur de téléchargement qui est survenue sur un fichier.
Exemple
if (($fichier = CopixUploadedFile::get ('fichier')) === false){
//récupère l'erreur de téléchargement
CopixUploadedFile::getError ('fichier');
}
move ($pPath, $pFileName = null)
Cette méthode déplace le fichier téléchargé vers l'emplacement $pPath.
Il est possible de spécifier un nom de fichier différent que celui proposé par le navigateur en donnant le paramètre $pFileName.
Si $pFileName n'est pas donné, le nom par défaut (getName) sera utilisé.
Exemple
if (($fichier = CopixUploadedFile::get ('fichier')) !== false){
$fichier->move ($cheminDestination, $nomDeFichierSpecifique);
}
Voir aussi
- CopixRequest méthode getFile

