php 常用自定义,php 常用自定义函数

文件类

获取某个tp根目录下面的某个目录

//获取uploads 文件夹路径

function uploads_path(){

return dirname(__DIR__).DIRECTORY_SEPARATOR.‘uploads/‘;

}

删除某个目录下的文件

/**

* 删除某个目录下的文件

*

* 主要用来删除上传文件的临时文件

*/

function deleteFile($path){

//如果是目录则继续

if(is_dir($path)){

//扫描一个文件夹内的所有文件夹和文件并返回数组

$p = scandir($path);

foreach($p as $val){

//排除目录中的.和..

if($val !="." && $val !=".."){

//如果是目录则递归子目录,继续操作

if(is_dir($path.$val)){

//子目录中操作删除文件夹和文件

deleteFile($path.$val.‘/‘);

//目录清空后删除空文件夹

@rmdir($path.$val.‘/‘);

}else{

//如果是文件直接删除

unlink($path.$val);

}

}

}

}

}

读取文件夹下所有文件

/**

* 读取文件夹下所有文件

* @param $folder

* @return mixed

*/

function scanfiles($dir){

$arr = array();

//列出文件下的目录

$hander = scandir($dir);

//遍历文件夹下所有文文件

foreach ($hander as $v) {

//判断文件夹下是否还有文件夹需要遍历

if (is_dir($dir . ‘/‘ . $v) && $v != "." && $v != "..") {

//有二级文件夹

return false;

//递归调用

$arr[$v] = scanfiles($dir . ‘/‘ . $v);

}else{

//排除 "." " .."

if($v != "." && $v != ".."){

//文件存入

$arr[]=$v;

}

}

}

return $arr;

}

随机数

任意字符随机

/**

* 随机生成id,默认10位,不要O,o,0

* @param integer $length 生成id的位数

* @return string 生成的随机id

*/

function getRandom($length = 10){

// 密码字符集,可任意添加你需要的字符

//$chars = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789‘;

$chars = ‘ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijklmnpqrstuvwxyz123456789‘;

$str = "";

for ( $i = 0; $i < $length; $i++ ){

$str .= $chars[ mt_rand(0, strlen($chars) - 1) ];

}

return $str ;

}

随机验证码

/**

* @param int $len 生成随机数长度,默认为6

* @return string

*/

//随机数

function getRandom($length = 6) {

//取10的长度减1次方的值,例:length为6 10的5次方 100000

$min = pow(10 , ($length - 1));

//取10的长度次方的值,例:length为6 10的6次方减1 999999

$max = pow(10, $length) - 1;

//获取并返回该范围的数

return mt_rand($min, $max);

}

字符串类

将id分割为2位一组的数组

/**

* 将id分割为2位一组的数组

* @param [type] $str 要分割的字符串

* @return array

*/

function stringToArray($str = null){

if($str === null){

return false;

}

$arr = array();

for($i = 0, $j = 0; $i < strlen($str); $i+=2,$j++){

$arr[$j] = substr($str,$i,2);

}

return $arr;

}

zip压缩与解压

压缩

/**

* 压缩文件

* @param array $files 待压缩文件 array(‘d:/test/1.txt‘,‘d:/test/2.jpg‘);【文件地址为绝对路径】

* @param string $filePath 输出文件路径 【绝对文件地址】 如 d:/test/new.zip

* @return string|bool

*/

function zip($files, $filePath)

{

//检查参数

if (empty($files) || empty($filePath)) {

return false;

}

//压缩文件

$zip = new ZipArchive();

$zip->open($filePath, ZipArchive::CREATE);

foreach ($files as $key => $file) {

//检查文件是否存在

if (!file_exists($file)) {

return false;

}

$zip->addFile($file, basename($file));

}

$zip->close();

return true;

}

解压

/**

* zip解压方法

* @param string $filePath 压缩包所在地址 【绝对文件地址】d:/test/123.zip

* @param string $path 解压路径 【绝对文件目录路径】d:/test

* @return bool

*/

function unzip($filePath, $path)

{

if (empty($path) || empty($filePath)) {

return false;

}

$zip = new ZipArchive();

if ($zip->open($filePath) === true) {

$zip->extractTo($path);

$zip->close();

return true;

} else {

return false;

}

}

原文:https://www.cnblogs.com/makalochen/p/13053781.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值