php上传类
<?php
/*
接受前页面的值
0 UPLOAD_ERR_OK 文件上传成功
1 UPLOAD_ERR_INI_SIZE 上传文件超过了php.ini中设置的最大值
2 UPLOAD_ERR_FORM_SIZE 上传的文件超过了表单设置最大值
3 UPLOAD_ERR_PARTAL 文件只上传了部分
4 UPLOAD_ERR_NO_FILE 没有文件被上传
*/
$upload_err =$_FILES["file"]["error"]; //获取文件上传的错误信息
$file_source_name =$_FILES["file"]["name"]; //原始文件名
$file_temp_name =$_FILES["file"]["tmp_name"]; //临时文件名
$file_type =$_FILES["file"]["type"]; //文件mime类型
$file_size =$_FILES["file"]["size"]; //文件大小
function getErr($intErr)//用来输出错误信息
{
$errStr="";
switch($intErr)
{
case 1:
$errStr="文件超过系统最大值!";
break;
case 2:
$errStr="文件超过表单最大值";
break;
case 3:
$errStr="文件部分上传!";
break;
case 4:
$errStr="文件没有上传";
break;
}
return $errStr;
}
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function getfilename($ext) //获取定长随即文件名
{
$filename=getmicrotime();
$filename=eregi_replace("\.","",$filename);
$filename=$filename.".".$ext;
return $filename;
}
function canupload($strExt) //检查文件是否允许上传
{
global $canuploadext;
$arrExt=explode(",",$canuploadext);
$canupload=false;
for($index=0;$index<sizeof($arrExt);$index++)
{
if($arrExt[$index]===strtolower($strExt))
{
$canupload=true;
break;
}
}
return $canupload;
}
function getFileExt($strFileName) //获取文件后缀名
{
return substr($strFileName,strrpos($strFileName,".")+1);
}
$upload_dir="upload"; //上传的目录
$currDir=getcwd();
//如果制定的上传目录不存在 则创建目录
$targetDir=$currDir."\\".$upload_dir;
if(!file_exists($targetDir))
{
@mkdir($targetDir,"0777");
}
if($upload_err==0)
{
//将已上传的文件从临时目录移动到制定目录
//生成新的文件名
$targetfilename=$targetDir."\\".$file_source_name;
if(!move_uploaded_file($file_temp_name,$targetfilename))
{
echo "文件上传失败!";
}else
{
echo "文件上传成功!";
}
}else
{
echo getErr($upload_err);
}
?>
<?php /* 接受前页面的值 0 UPLOAD_ERR_OK 文件上传成功 1 UPLOAD_ERR_INI_SIZE 上传文件超过了php.ini中设置的最大值 2 UPLOAD_ERR_FORM_SIZE 上传的文件超过了表单设置最大值 3 UPLOAD_ERR_PARTAL 文件只上传了部分 4 UPLOAD_ERR_NO_FILE 没有文件被上传 */ $upload_err =$_FILES["file"]["error"]; //获取文件上传的错误信息 $file_source_name =$_FILES["file"]["name"]; //原始文件名 $file_temp_name =$_FILES["file"]["tmp_name"]; //临时文件名 $file_type =$_FILES["file"]["type"]; //文件mime类型 $file_size =$_FILES["file"]["size"]; //文件大小 function getErr($intErr)//用来输出错误信息 { $errStr=""; switch($intErr) { case 1: $errStr="文件超过系统最大值!"; break; case 2: $errStr="文件超过表单最大值"; break; case 3: $errStr="文件部分上传!"; break; case 4: $errStr="文件没有上传"; break; } return $errStr; } function getmicrotime() { list($usec, $sec) = explode(" ",microtime()); return ((float)$usec + (float)$sec); } function getfilename($ext) //获取定长随即文件名 { $filename=getmicrotime(); $filename=eregi_replace("\.","",$filename); $filename=$filename.".".$ext; return $filename; } function canupload($strExt) //检查文件是否允许上传 { global $canuploadext; $arrExt=explode(",",$canuploadext); $canupload=false; for($index=0;$index<sizeof($arrExt);$index++) { if($arrExt[$index]===strtolower($strExt)) { $canupload=true; break; } } return $canupload; } function getFileExt($strFileName) //获取文件后缀名 { return substr($strFileName,strrpos($strFileName,".")+1); } $upload_dir="upload"; //上传的目录 $currDir=getcwd(); //如果制定的上传目录不存在 则创建目录 $targetDir=$currDir."\\".$upload_dir; if(!file_exists($targetDir)) { @mkdir($targetDir,"0777"); } if($upload_err==0) { //将已上传的文件从临时目录移动到制定目录 //生成新的文件名 $targetfilename=$targetDir."\\".$file_source_name; if(!move_uploaded_file($file_temp_name,$targetfilename)) { echo "文件上传失败!"; }else { echo "文件上传成功!"; } }else { echo getErr($upload_err); } ?>
- 上一篇:ThinkPHP自动验证失败及解决方法
- 下一篇:使用 Akismet 防止垃圾评论