search
HomeBackend DevelopmentPHP Tutorialphp 上传类(自家用)_PHP

/**
* File up load class
* @version 1.0.0 (Thu Aug 18 01:32:39 CST 2005)
* @author sanshi
*/
class upLoad
{
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:00:18 CST 2005
* @param string $info 文件内容
* @param string $fileName 生成的文件名
* @return boolean 建立成功返回true
* @deprecated
* 建立html文件
*/
function createHtml( $info ,$fileName )
{
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:03:09 CST 2005
* @return void
* @deprecated
* 构造函数
*/
function downLoad()
{}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:03:55 CST 2005
* @param string $fileField 在表单中的字段名
* @param string $length 限制的长度
* @return boolean 成功返回true
* @deprecated
* 功能实现函数
*/
function init($fileField,$length='')
{
$files = $_FILES[$fileField];
//用户名需要改动,根据自己的实际情况做改动
$userName = 'sanshi';
$fileName = $files['name'];
$fileType = $files['type'];
$fileTemp = $files['tmp_name'];
$fileSize = empty( $length ) ? ($files['size'] 10) : $length;
$fileError= $files['error'];//这块也许php4中没有
//改为
//if( $this->_isType( $fileName ) || $this->_isBig( $length ) )
if( !$this->_isType( $fileName ) || $this->_isBig( $length ) || $fileError != 0 )
{
//print_r ($files);
return false;
}else{
$path = $this->_createDir( $userName );//取得路径
$createFileName = $userName . "_" . time();//设置当前文件名
$createFileType = $this->getFileType($fileName);//设置文件类别
return @move_uploaded_file($fileTemp,$path.$createFileName.'.'.$createFileType) ? true : false;
}
}

/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:07:43 CST 2005
* @param int $length 上传限制的大小
* @return boolean 超过返回true
* @deprecated
* 判断是否超过预定大小
*/
function _isBig($length)
{
$bigest = '';
return $big > $bigest ? true : false;
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:08:55 CST 2005
* @param string $fileName 文件名
* @return string $fileType 文件后缀
* @deprecated
* 取得文件后缀(只取得文件的最后一个后缀名)
*/
function getFileType($fileName)
{
return end(explode('.',$fileName));
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:10:41 CST 2005
* @param string $fileName 文件名
* @param boolean $method 是否检查多个后缀默认false
* @param int $postFix 后缀个数默认为2
* @return boolean 存在返回true
* @deprecated
* 检查文件的后缀是否在类别数组中,类别数组自己设置
* 如果$method设置为true则检查文件有几个后缀
*/
function _isType($fileName,$method='false',$postFix=2)
{
//设置类别数组
$type = array('jpeg',
'gif',
'bmp',
'exe');
$fileName = strtolower( $fileName );
$fileTypeArray = explode( '.',$fileName );
$fileType = end( $fileTypeArray );
//判断是否有一个文件有多个后缀
if($method)
{
if( count( $fileTypeArray ) > (is_int($postFix) ? $postFix : 2) )
{
return false;
}
}
return in_array($fileType,$type);
}

/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:17:19 CST 2005
* @param string $userName
* @return string $path
* @deprecated
* 建立目录 目录格式 年/月/日/用户名/
* 权限为755
*/
function _createDir($userName)
{
$root = '';
$pathSign = DIRECTORY_SEPARATOR;
$y = date('Y').$pathSign;
$m = date('m').$pathSign;
$d = date('d').$pathSign;
$path = $root . $y . $m . $d . $userName;
$dirArray = explode( $pathSign,$path);
$tempDir='';
foreach ( $dirArray as $dir)
{
$tempDir.= $dir.$pathSign;
$isFile = file_exists( $tempDir );
clearstatcache();
if( ! $isFile && !is_dir( $tempDir ) )
{
@mkdir($tempDir,0755);
}
}
return $path . $pathSign;
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:19:32 CST 2005
* @param  string $dirName 目录名
* @return   boolean 可以操作返回true
* @deprecated
* 判断操作是否在上传目录
*/
function _isDel($dirName)
{
//注意upLoadDir,一定要与真正使用目录相对应
$upLoadDir = '';
$upLoadDir = preg_replace('/\\//','\/',$upLoadDir);
$format = "/^{$upLoadDir}/";
return preg_match( $format,$dirName );
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:25:58 CST 2005
* @param string $fileName 文件名
* @return boolean 删除文件成功返回true
* @deprecated
* 删除文件
*/
function delFile( $fileName )
{
$cur_dir = dirname(trim($fileName));
if( $this->_isDel( $cur_dir ) )
{
return @unlink( $fileName ) ? true : false;
}else{
return false;
}
}
/**
*
* @author sanshi
* @version 1.0.0 Thu Aug 18 01:27:43 CST 2005
* @param string $dieName 目录名
* @return boolean 删除成功返回true
* @deprecated
* 删除目录 目录下如果有文件不能删除
*/
function delDir( $dirName )
{
if( $this->_isDel($dirName) && is_dir( $dirName ) )
{
return @rmdir( $dirName ) ? true : false;
}else{
return false;
}
}

}
?>
//使用
/*
include 'upLoad.class.php';
$up = new upLoad();
if($up->init("file"))
{
echo 'success';
}else{
echo 'failure';
}
*/
?>

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
wpsystem是什么文件夹wpsystem是什么文件夹Sep 01, 2022 am 11:22 AM

wpsystem文件夹是windows应用文件夹;创建WpSystem文件夹是为了存储某些特定“Microsoft Store”应用程序的数据,因此建议不要删该文件夹,因为删除之后就无法使用指定的应用。

winreagent是什么文件夹winreagent是什么文件夹Aug 26, 2022 am 11:23 AM

winreagent是在系统更新或升级的过程中创建的文件夹;该文件夹中通常包含临时文件,当更新或升级失败时,系统将通过还原先前创建的临时文件来回滚到执行更新或升级过程之前的版本。

baidunetdiskdownload是什么文件夹baidunetdiskdownload是什么文件夹Aug 30, 2022 am 10:45 AM

baidunetdiskdownload是百度网盘默认下载文件的文件夹;百度网盘是百度推出的一项云存储服务,只要下载东西到百度网盘里,都会默认保存到这个文件夹中,并且可跨终端随时随地查看和分享。

usmt.ppkg是什么文件usmt.ppkg是什么文件Sep 09, 2022 pm 02:14 PM

“usmt.ppkg”是windows自带的系统还原功能的系统备份文件;Windows系统还原是在不需要重新安装操作系统,也不会破坏数据文件的前提下使系统回到原有的工作状态,PBR恢复功能的备份文件就是“usmt.ppkg”。

如何在FastAPI中实现文件上传和处理如何在FastAPI中实现文件上传和处理Jul 28, 2023 pm 03:01 PM

如何在FastAPI中实现文件上传和处理FastAPI是一个现代化的高性能Web框架,简单易用且功能强大,它提供了原生支持文件上传和处理的功能。在本文中,我们将学习如何在FastAPI框架中实现文件上传和处理的功能,并提供代码示例来说明具体的实现步骤。首先,我们需要导入需要的库和模块:fromfastapiimportFastAPI,UploadF

备份文件的扩展名通常是什么备份文件的扩展名通常是什么Sep 01, 2022 pm 03:55 PM

备份文件的扩展名通常是“.bak”;bak文件是一个备份文件,这类文件一般在'.bak前面加上应该有原来的扩展名,有的则是由原文件的后缀名和bak混合而成,在生成了某种类型的文件后,就会自动生成它的备份文件。

酷狗上传自己的音乐的简单步骤酷狗上传自己的音乐的简单步骤Mar 25, 2024 pm 10:56 PM

1、打开酷狗音乐,点击个人头像。2、点击右上角设置的图标。3、点击【上传音乐作品】。4、点击【上传作品】。5、选择歌曲,然后点击【下一步】。6、最后点击【上传】即可。

thm是什么格式的文件thm是什么格式的文件Sep 09, 2022 pm 02:18 PM

thm是MP4或者MPG视频格式文件的索引文件,其本质上是一张jpg格式的图片;打开视频播放器除了需要MP4或者MPG格式的视频文件外,还会需要一个thm格式的索引文件才能播放,该文件可以用ACDSEE打开查看。

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Repo: How To Revive Teammates
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor