前端之家收集整理的这篇文章主要介绍了
php 文件上传类的简单示例,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对
PHP上传类|
PHP 文件上传类
代码感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
/**
* PHP上传类|PHP 文件上传类代码
*
* @param
* @arrange 512-笔记网: www.www.jb51.cc
**/
<?PHP
class ieb_upload{
var $FormName; //文件域名称
var $Directroy; //上传至目录
var $MaxSize; //最大上传大小
var $CanUpload; //是否可以上传
var $doUpFile; //上传的文件名
var $sm_File; //缩略图名称
var $Error; //错误参数
function ieb_upload($formName='',$dirPath='',$maxSize=2097152) //(1024*2)*1024=2097152 就是 2M
{
global $FormName,$Directroy,$MaxSize,$CanUpload,$Error,$doUpFile,$sm_File;
//初始化各种参数
$FormName = $formName;
$MaxSize = $maxSize;
$CanUpload = true;
$doUpFile = '';
$sm_File = '';
$Error = 0;
if ($formName == ''){
$CanUpload = false;
$Error = 1;
break;
}
if ($dirPath == ''){
$Directroy = $dirPath;
}else{
$Directroy = $dirPath.'/';
}
}
//检查文件是否存在
function scanFile()
{
global $FormName,$CanUpload;
if ($CanUpload){
$scan = is_readable($_FILES[$FormName]['name']);
if ($scan){
$Error = 2;
}
return $scan;
}
}
//获取文件大小
function getSize($format = 'B')
{
global $FormName,$CanUpload;
if ($CanUpload){
if ($_FILES[$FormName]['size'] == 0){
$Error = 3;
$CanUpload = false;
}
switch ($format){
case 'B':
return $_FILES[$FormName]['size'];
break;
case 'M':
return ($_FILES[$FormName]['size'])/(1024*1024);
}
}
}
//获取文件类型
function getExt()
{
global $FormName,$CanUpload;
if ($CanUpload){
$ext=$_FILES[$FormName]['name'];
$extStr=explode('.',$ext);
$count=count($extStr)-1;
}
return $extStr[$count];
}
//获取文件名称
function getName()
{
global $FormName,$CanUpload;
if ($CanUpload){
return $_FILES[$FormName]['name'];
}
}
//新建文件名
function newName()
{
global $CanUpload,$FormName;
if ($CanUpload){
$FullName=$_FILES[$FormName]['name'];
$extStr=explode('.',$FullName);
$count=count($extStr)-1;
$ext = $extStr[$count];
return date('YmdHis').rand(0,9).'.'.$ext;
}
}
//上传文件
function upload($fileName = '')
{
global $FormName,$doUpFile;
if ($CanUpload){
if ($_FILES[$FormName]['size'] == 0){
$Error = 3;
$CanUpload = false;
return $Error;
break;
}
}
if($CanUpload){
if ($fileName == ''){
$fileName = $_FILES[$FormName]['name'];
}
$doUpload=@copy($_FILES[$FormName]['tmp_name'],$Directroy.$fileName);
if($doUpload)
{
$doUpFile = $fileName;
chmod($Directroy.$fileName,0777);
return true;
}else{
$Error = 4;
return $Error;
}
}
}
//创建图片缩略图
function thumb($dscChar='',$width=150,$height=113)
{
global $CanUpload,$sm_File;
if ($CanUpload && $doUpFile != ''){
$srcFile = $doUpFile;
if ($dscChar == ''){
$dscChar = 'sm_';
}
$dscFile = $Directroy.$dscChar.$srcFile;
$data = getimagesize($Directroy.$srcFile,&$info);
switch ($data[2]) {
case 1:
$im = @imagecreatefromgif($Directroy.$srcFile);
break;
case 2:
$im = @imagecreatefromjpeg($Directroy.$srcFile);
break;
case 3:
$im = @imagecreatefrompng($Directroy.$srcFile);
break;
}
$srcW=imagesx($im);
$srcH=imagesy($im);
$ni=imagecreatetruecolor($width,$height);
imagecopyresized($ni,$im,$width,$height,$srcW,$srcH);
$cr = imagejpeg($ni,$dscFile);
chmod($dscFile,0777);
if ($cr){
$sm_File = $dscFile;
return true;
}else{
$Error = 5;
return $Error;
}
}
}
//显示错误参数
function Err(){
global $Error;
return $Error;
}
//上传后的文件名
function UpFile(){
global $doUpFile,$Error;
if ($doUpFile != ''){
return $doUpFile;
}else{
$Error = 6;
}
}
//上传文件的路径
function filePath(){
global $Directroy,$Error;
if ($doUpFile != ''){
return $Directroy.$doUpFile;
}else{
$Error = 6;
}
}
//缩略图文件名称
function thumbMap(){
global $sm_File,$Error;
if ($sm_File != ''){
return $sm_File;
}else{
$Error = 6;
}
}
//显示版本信息
function ieb_version(){
return 'IEB_UPLOAD CLASS Ver 1.1';
}
}
?>
/*** 来自编程之家 jb51.cc(jb51.cc) ***/
使用
方法:
/**
* PHP上传类|PHP 文件上传类代码
*
* @param
* @arrange 512-笔记网: www.www.jb51.cc
**/
<?PHP
//加载上传类
include('ieb_upload.inc');
?>
/*** 来自编程之家 jb51.cc(jb51.cc) ***/
/**
* PHP上传类|PHP 文件上传类代码
*
* @param
* @arrange 512-笔记网: www.www.jb51.cc
**/
<html>
<head>
<Meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body style="font-size:12px;">
<form action="" method="post" enctype="multipart/form-data" name="form1">
<input type="file" name="file">
<input type="submit" name="Submit" value="提交">
<input name="scan" type="hidden" id="up" value="true">
</form><b /><br/>
<?PHP
if(isset($_REQUEST['scan'])){
//声明一个上传类
$upfos = new ieb_upload('file','upload');
//返回将要上传的文件名称
echo '文件名称:' . $upfos -> getName() . '<br/>';
//返回文件后缀名
echo '文件类型:' . $upfos -> getExt() . '<br/>';
//返回文件大小
echo '文件大小:' . $upfos -> getSize() . '<br/>';
//随机生成的文件名
echo '随机文件:' . $upfos -> newName() . '<br/>';
//上传文件
$upfos -> upload();
//生成缩略图
$upfos -> thumb();
//返回生成的文件名
echo '生成文件:' . $upfos -> UpFile() . '<br/>';
//返回文件的路径
echo '文件路径:' . $upfos -> filePath() . '<br/>';
//返回缩略图的名称
echo '缩略图片:' . $upfos -> thumbMap() . '<br/>';
//返回上传类版本信息
echo '版本信息:' . $upfos -> ieb_version() . '<br/>';
}
?>
</body>
</html>
/*** 来自编程之家 jb51.cc(jb51.cc) ***/