php文件上传类完整实例,_PHP教程
php文件上传类完整实例,
本文实例讲述了php文件上传类。分享给大家供大家参考,具体如下:
/** $file=new class_file($file_array,"flash/"); $file->set_allow_type(array("jpg","jpeg","gif")); $file->is_limit_size(); if(!$file->allow_file_size()){ echo $file->error; exit; } if(!$file->allow_file_type()){ echo $file->error; exit(); }else if(!$file->uploadfile()){ echo $file->error; exit; } **/ <?php class class_file{ private $file_type; private $file_size; private $save_path; private $file_path; private $allow_type=array(); private $allow_size; private $file_name; private $flag=false; private $mime_type; private $is_limit_size=false; public $error; //构造函数 function class_file($file_array,$save_path){ $this->file_path=$file_array['tmp_name']; $this->file_size=$file_array['size']; $this->file_type=$file_array['type']; $this->save_path=$save_path; } //设置允许的文件类型 function set_allow_type($allow_type){ $this->allow_type=$allow_type; } //设置允许的文件大小 function set_allow_size($allow_size){ $this->allow_size=$allow_size; } //文件上传 public function uploadfile(){ if(!$this->allow_file_type()){ $this->file_name(); } if(move_uploaded_file($this->file_path,$this->save_path.$this->file_name)){ return true; }else{ $this->error="文件上传失败"; return; } } //判断文件上传的类型 function allow_file_type(){ $this->file_name(); if(in_array($this->mime_type,$this->allow_type)){ return true; }else{ $this->error="不允许上传的类型"; exit(); } } //判断文件上传的大小 function allow_file_size($size=100){ if($this->is_limit_size){ $this->set_allow_size($size); if($this->allow_size>=$this->file_size){ return true; }else{ $this->error="超过文件上传大小限制"; } } } //是否限制文件大小 function is_limit_size(){ $this->is_limit_size=true; } //文件类型和文件名称 function file_name(){ $this->mime_type=substr($this->file_type,strpos($this->file_type,"/")+1); if($this->mime_type=="pjpeg"){ $this->mime_type="jpg"; } if($this->mime_type=="x-ms-wma"){ $this->mime_type="wma"; } if($this->mime_type=="x-ms-wmv"){ $this->mime_type="wmv"; } $this->file_name=date("YmdHis").".$this->mime_type"; } function _get_file_name(){ return $this->file_name; } } ?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

TestThepdfinanotherApptodetermineIftheissueiswiththefileoredge.2.EnBlEthebuilt-inpdfViewerByTurningOff "AlwaysOpenpdffilesexternal" et "DownloadPdffiles" inedgestoSolver.

Dans VSCODE, vous pouvez rapidement changer le panneau et la zone d'édition via des touches de raccourci. Pour sauter vers le panneau d'explorateur gauche, utilisez Ctrl Shift E (Windows / Linux) ou CMD Shift E (Mac); Retournez dans la zone d'édition pour utiliser Ctrl `ou ESC ou Ctrl 1 ~ 9. Par rapport au fonctionnement de la souris, les raccourcis clavier sont plus efficaces et n'interrompent pas le rythme de codage. Les autres conseils incluent: Ctrl KCTRL E FOCUS RECHERCH BOX, F2 Renommer Fichier, Supprimer le fichier, Entrez le fichier ouvert, le dossier de la touche Arrow Extend / Effondrement.

RunThewindowsUpDateTroulesshooTervAyingSettings> Update & Security> TroubleshoottoAutomAticyFixComMonissues.2.ResetwindowsupDateComponentsBystoppingrelatedServices, RenamingtheSoftwaredSistributeandCatroot2folders, TherestartingTheServicestoClelele

Utiliser une interfacestodefineContracts pour les classes liées, garantissant à ce que les implications spécifiques de la responsabilité; 2. ustractClassestoshareCommonLogicamongRelatedClasses whileenforcingInheritance; 3.UsetraTstoreUtyUtilityCodeAcrosses

Phparrayshandledatacollectionsefficantyusing indexedorassociativstructures; theyareCreated withArray () ou [], accessedViakeys, modifiedByAssigment, itérated withoreach, andmanipulatedUsingFunction

RestartyourRouterAndComputerToresolvetemporaryGlithes.2.RunthenetWorkTrouleshooTerviATheSystemTraytomAticalMatterFixComMonissues.3.RenewtheipAddressusingcomandPomptSADMinistratorByrunningIpConfig / Release, Ipconfig / Renew, NetShwinsockReset, etnetSh

BreakexitsTheroop impectument après le financement de la finale, IdealForstoppingatTtheFirstmatch.2

TheObserverdesignpatternenablesautomaticnotificationofdependentobjectswhenasubject'sstatechanges.1)Itdefinesaone-to-manydependencybetweenobjects;2)Thesubjectmaintainsalistofobserversandnotifiesthemviaacommoninterface;3)Observersimplementanupdatemetho
