<?php
//创立文件夹
function mk_dir($dir, $mode = 0700){
//假如上传路径没有"/",加上"/"
if (!preg_match("/(.+)\/$/",$dir)) {
$dir .= "/";
}
//循环建立文件夹
if (!file_exists($dir)){
$dirArray=explode("/",$dir);
foreach($dirArray as $v){
$newpath .= $v."/";
mk_dir(dirname($newpath));
@mkdir($dir, 0777);
}
}
}
//检测文件类型
function checkmime($filename) {
//JPG,GIF,BMP,PNG
$File = fopen($filename, "rb");
$bin = fread($File, 2); //只读2字节
fclose($File);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$FileType = array("255216","7173","6677","13780");
if(in_array($typeCode,$FileType)) {
return TRUE;
}
}
//上传文件
function upload($file,$dir){
//创立文件夹
mk_dir($dir,0755);
// 判断文件按大小
if($_FILES["$file"][size]>500000) {
echo "<script>";
echo "alert('上传文件超过规定大小范围!');";
echo "location.href='javascript:history.go(-1)';";
echo "</script>";
}
//判断文件格式。
$fileType = array("image/jpeg","image/bmp","image/gif","image/pjpeg");
if(!in_array($_FILES["$file"][type],$fileType)) {
echo "<script>";
echo "alert('不支持此类文件上传!');";
echo "location.href='javascript:history.go(-1)';";
echo "</script>";
}
//上传文件,返回上传文件的路径和名称
if ($_FILES["$file"][error]) {
echo "<script>";
echo "alert('上传文件失败!');";
echo "location.href='javascript:history.go(-1)';";
echo "</script>";
} else {
//假如文件上传成功
if (move_uploaded_file($_FILES["$file"][tmp_name],$dir.$_FILES["$file"][name])) {
//判断文件格式。
if(!checkmime($dir.$_FILES["$file"][name])){
@unlink ($dir.$_FILES["$file"][name]);
echo "<script>";
echo "alert('此文件类型可疑,已删除!');";
echo "location.href='javascript:history.go(-1)';";
echo "</script>";
} else {
return $dir.$_FILES["$file"][name];
}
}
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------
//创立文件夹
function mk_dir($dir, $mode = 0700){
//假如上传路径没有"/",加上"/"
if (!preg_match("/(.+)\/$/",$dir)) {
$dir .= "/";
}
//循环建立文件夹
if (!file_exists($dir)){
$dirArray=explode("/",$dir);
foreach($dirArray as $v){
$newpath .= $v."/";
mk_dir(dirname($newpath));
@mkdir($dir, 0777);
}
}
}
//检测文件类型
function checkmime($filename) {
//JPG,GIF,BMP,PNG
$File = fopen($filename, "rb");
$bin = fread($File, 2); //只读2字节
fclose($File);
$strInfo = @unpack("C2chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$FileType = array("255216","7173","6677","13780");
if(in_array($typeCode,$FileType)) {
return TRUE;
}
}
?>