跟我学做PHP上传类
Jun 21, 2016 am 08:50 AM
up.class.php
class up{
public $f; //表示$_FILES[xx]
public $s; //上传文件的大小
public $n; //是否指定文件名
public $d; //是否指定文件夹
function __construct($f,$s=1,$n=false,$d=false){
$this->f=$f;
$this->s=$s*1000000;
$this->n=$n;
$this->d=$d;
$this->loading();
}
function loading(){
$this->fsize();
$this->ftype();
$this->fmv();
}
function fname(){
if($this->n){
return $this->n.$this->ftype();
}else{
return time().rand(111,999).$this->ftype();
}
}
function fdir(){
if($this->d){ //判断用户是否指定文件夹名
if(!is_dir($this->d)){ //判断指定的文件夹名是否存在
mkdir($this->d);
}
return $this->d."/";
}else{
if(!is_dir(date("Ymd"))){
mkdir(date("Ymd"));
}
return date("Ymd")."/";
}
} //end fdir
function fsize(){
if($this->f['size']>$this->s){
echo "文件超过大小";
exit();
}else{
return true;
}
}
function ftype(){
switch($this->f['type']){
case "image/x-png": $ok=".png";
break;
case "image/png": $ok=".png";
break;
case "application/pdf": $ok=".pdf";
break;
case "image/pjpeg": $ok=".jpg";
break;
case "image/jpeg": $ok=".jpg";
break;
case "image/jpg": $ok=".jpg";
break;
default: $ok=false;
break;
}
if($ok){
return $ok;
}else{
echo "文件类型不正确";
exit();
}
}
function fmv(){
move_uploaded_file($this->f['tmp_name'],$this->fdir().$this->fname());
}
}
?>
test.php 上传文件
include("up.class.php");
if(!empty($_POST['sub'])){
foreach($_FILES as $id=>$v){
new up($_FILES[$id]);
}
}
?>

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

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)

Sujets chauds

Solution : Votre organisation vous demande de modifier votre code PIN

Comment ajuster les paramètres de bordure de fenêtre sous Windows 11 : modifier la couleur et la taille

Comment changer la couleur de la barre de titre sous Windows 11 ?

Comment activer ou désactiver les aperçus miniatures de la barre des tâches sur Windows 11

Problèmes d'erreur OOBELANGUAGE dans la réparation de Windows 11/10

Quelles sont les différences entre Huawei GT3 Pro et GT4 ?

Afficher le guide de mise à l'échelle sur Windows 11

10 façons de régler la luminosité sous Windows 11
