這個$this->ShowError()&&一直報錯 刪了以后上傳正常這個是干嘛用的啊 附上修改后代碼// 檢測上傳是否出錯 public function uploadFile(){ if($this->ShowError()&&$this->checkSize()&&$this->checkExt()&&$this->checkMime()&&$this->checkTrueimg()&&$this->checkHTTPPost())
<?php
class upload{
protected $fileName;
protected $maxSize;
protected $allowMime;
protected $allowExt;
protected $uploadPath;
protected $imgFlag;
protected $fileInfo;
protected $erreo;
protected $ext;
public function __construct($fileName='myFile',$uploadPath='./uploads',$imgFlag=true,$maxSize=5242880,$allowExt=array('jpeg','jpg','png','gif'),$allowMime=array('image/jpeg','image/png','image/gif')){
$this->fileName=$fileName;
$this->maxSize=$maxSize;
$this->allowMime=$allowMime;
$this->allowExt=$allowExt;
$this->uploadPath=$uploadPath;
$this->imgFlag=$imgFlag;
$this->fileInfo=$_FILES[$this->fileName];
}?
protected function checkError(){
if($this->fileInfo=['error']>0){
switch($this->fileInfo['error']){
? ? ? ? case 1:
? ? ? ? $this->error='超過了PHP配置文件中uploa)max_filesize選項的值';
? ? ? ? ? break;
? ? ? ? case 2:
? ? ? ? $this->error='超過了表單中MAN_FILE_SIZE設(shè)置的值';
? ? ? ? break;
? ? ? ? case 3:
? ? ? ? $this->error='文件部分被上傳';
? ? ? ? break;
? ? ? ? case 4:
$this->error='沒有選擇上傳文件';
break;
case 6:
$this->error='沒有找到臨時目錄';
break;
case 7:
$this->error='文件不可寫';
break;
case 8:
$this->error='有魚PHP的擴展文件終斷文件上傳';
break;
}
return false;
}
return true;
}
protected function checkSize(){
if($this->fileInfo['size']>$this->maxSize){
$this->erreo='上傳文件過大';
return false;
}
return true;
}
// 檢測擴展名
protected function checkExt(){
$this->ext=strtolower(pathinfo($this->fileInfo['name'],PATHINFO_EXTENSION));
if(!in_array($this->ext,$this->allowExt)){
$this->erreo='不允許的擴展名';
return false;
}
return true;
}
// 檢測文件類型
protected function checkMime(){
if(!in_array($this->fileInfo['type'],$this->allowMime)){
$this->error='不允許文件類型';
return false;
}
return true;
}
// 檢測是否真實圖片
protected function checkTrueImg(){
if($this->imgFlag){
if(!@getimagesize($this->fileInfo['tmp_name'])){
$this->erreo='不是真實圖片';
return false;
}
return true;
}
}
// 檢測文件是否通過HTTPPost 方式上傳的
protected function checkHTTPPost(){
if(!is_uploaded_file($this->fileInfo['tmp_name'])){
$this->erreo='文件不是通過HTTP POST方式上傳上來的';
return false;
}
return true;
}
// 顯示錯誤
protected function ShowError(){
exit('<span style:"color:red">'.$this->error.'</span>');
}
// 檢測目錄不存在則創(chuàng)建
protected function checlUploadPath(){
if(!file_exists($this->uploadPath)){
mkdir($this->uploadPath,0777,true);
}
}
// 產(chǎn)生唯一字符串
protected function getUniName(){
return md5(uniqid(microtime(true),true));
}
// 檢測上傳是否出錯
public function uploadFile(){
if($this->checkSize()&&$this->checkExt()&&$this->checkMime()&&$this->checkTrueimg()&&$this->checkHTTPPost()){
? ?$this->uniName=$this->getUniName();
? ?$this->destination=$this->uploadPath.'/'.$this->uniName.'.'.$this->ext;
if(@move_uploaded_file($this->fileInfo['tmp_name'],$this->destination)){
return $this->destination;
}else{
$this->error='文件移動失敗';
$this->showError();
}
}else{
$this->showError();
}
}
}
2022-08-02
看一個最后的this對不對
2021-09-11
導(dǎo)出的實例不正確