|
/*检测文件的类型 *(array)$files 文件数组 */ private function check_file_type($files) { $this->filelist = array(); foreach($files as $key=>$file) { if($file['error'] == 0) { $ext = strtolower(substr($file['name'], strrpos($file['name'], '.') + 1)); $str = @file_get_contents($file['tmp_name'],FALSE,NULL,0,20); if((in_array($ext,array('jpg','jpeg')) && substr($str ,0, 3) !== "\xFF\xD8\xFF") || ($ext == 'gif' && substr($str ,0, 4) !== 'GIF8') || ($ext == 'png' && substr($str ,0, 8) !== "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A") || ($ext == 'bmp' && substr($str ,0, 2) !== 'BM') || ($ext == 'swf' && (substr($str ,0, 3) !== 'CWS' || substr($str ,0, 3) !== 'FWS')) || ($ext == 'zip' && substr($str ,0, 4) !== "PK\x03\x04") || ($ext == 'rar' && substr($str ,0, 4) !== 'Rar!') || ($ext == 'pdf' && substr($str ,0, 4) !== "\x25PDF") || ($ext == 'chm' && substr($str ,0, 4) !== 'ITSF') || ($ext == 'rm' && substr($str ,0, 4) !== "\x2ERMF") || ($ext == 'exe' && substr($str ,0, 2) !== "MZ") || (in_array($ext,array('doc','xls','ppt')) && substr($str ,0, 4) !== "\xD0\xCF\x11\xE0")) { $this->log .= $file['name'] . "文件类型与文件内容不符合。\n"; }elseif((!empty($this->extensionFileFormat) && in_array($ext,$this->extensionFileFormat)) || (empty($this->extensionFileFormat) && (in_array($ext,$this->ImageFileFormat) || in_array($ext,$this->OtherFileFormat)))) { $this->filelist[$key] = $file; }else{ $this->log .= $file['name'] . "不符合上传文件的类型。\n"; @unlink($file['tmp_name']); }}}}
/*生成上传目录 * */ private function makeDirectory() { $directoryName = str_replace("\\","/", $this->savePath); $dirNames = explode('/', $directoryName); $total = count($dirNames); $temp = ''; for($i=0; $i<$total; $i++) { $temp .= $dirNames[$i].'/'; if (!is_dir($temp)) { $oldmask = @umask(0); if (!@mkdir($temp, 0777)) return false; @umask($oldmask); } }; if(is_dir($this->savePath)) { return true; } else { return false; }; } }?>
共2页: 上一页 [1] 2 下一页
|