English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pas de bavardages, je vais directement coller le code, comme suit :
<?php /** * Classe de téléversement de fichiers * @auteur lijiamin * @time 2017-02-17 * @email [email protected] */ class Upload{ private $allowExt = array('gif','jpg','jpeg','bmp','png','swf');//limiter les extensions d'upload de fichiers private $maxSize = 1;//limiter l'upload de fichiers1M /** * obtenez les informations du fichier * @param str $flag identifiant du fichier uploadé * @return arr tableau d'informations sur le fichier uploadé */ public function getInfo($flag){ return $_FILES[$flag]; } /** * obtenez l'extension de fichier * @param str $filename nom de fichier * @return str extension de fichier */ public function getExt($filename){ return pathinfo($filename,PATHINFO_EXTENSION); } /** * vérifiez si le fichier uploadé est légitime * @param str $filename nom de fichier * @return bool l'extension de fichier est-elle légitime ? */ private function checkExt($filename){ $ext = $this->getExt($filename); return in_array($ext,$this->allowExt); } /** * vérifiez si la taille du fichier dépasse la limite * @param int size taille du fichier * @return bool le fichier dépasse-t-il la limite de taille ? */ public function checkSize($size){ return $size < $this->maxSize * 1024 * 1024; } /** * nom de fichier aléatoire * @param int $len longueur de la chaîne de nom aléatoire * @return str chaîne aléatoire */ public function randName($len=6)){ return substr(str_shuffle('abcdefghjkmnpqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ234565789'),0,$len); } /** * créez le chemin d'upload du fichier * @return str chemin d'upload du fichier */ public function createDir(){ //chemin d'upload des fichiers $dir = './upload/}'.date('Y/m/d',time()); //vérifiez l'existence du dossier, créez-en un nouveau s'il n'existe pas if(is_dir($dir) || mkdir($dir,0777,true)){ return $dir; } } /** * Téléversement de fichier * @param str $flag Identifiant de téléversement de fichier * @return array Retourne le nom du fichier téléversé, le chemin de sauvegarde */ public function uploadFile($flag){ if($_FILES[$flag]['name'] === '' || $_FILES[$flag]['error'] !== 0){ echo "Aucun fichier téléversé"; return; } $info = $this->getInfo($flag); if(!$this->checkExt($info['name'])){ echo "Type de fichier non pris en charge"; return; } if(!$this->checkSize($info['size'])){ echo "La taille du fichier dépasse la limite"; return; } $filename = $this->randName().'.'.$this->getExt($info['name']); $dir = $this->createDir(); if(!move_uploaded_file($info['tmp_name'], $dir.'/.'.$filename)){ echo "Échec du téléversement de fichier"; } return array('filename'=>$filename,'dir'=>$dir); } } } ?>
Déclaration : le contenu de cet article est hébergé sur Internet, propriété de ses auteurs respectifs, contribué et téléversé par les utilisateurs d'Internet de manière spontanée. Ce site ne possède pas de propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique. Si vous trouvez du contenu suspect de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour faire une plainte, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.