pre_print( $files = traverse('img', dirname(__FILE__), true) );
batRename('a', 'd', $files, dirname(__FILE__).'/img');
pre_print( $files = traverse('img', dirname(__FILE__), true) );
/**
* 批量重命名
*
* @param string $find: 要替换的字符串
* @param string $replace:替换为目标字符串
* @param string $files: 文件名数组
* @param string $dirpath: 文件路径
* @param bool $caseSens: 大小写敏感
* @return void
*/
function batRename($find, $replace, $files, $dirpath, $caseSens=false) {
if (is_array($files)) {
foreach ($files as $dir=>$file) {
if (is_array($file)) {
batRename($find, $replace, $file, $dirpath.'/'.$dir, $caseSens); //遍历重命名
} else {
if (strpos($file, $find) !== false) { //若存在$find
$replacefunc = $caseSens? 'str_replace' : 'str_ireplace';
$newfile = $replacefunc($find, $replace, $file);
@rename($dirpath.'/'.$file, $dirpath.'/'.$newfile);
}
}
}
}
}
/**
* 文件夹遍历
*
* @param string $dirname: 文件夹名
* @param string $path: 文件夹所在目录
* @param bool $doDeep: 是否遍历所有,深层遍历
* @return array
*/
function traverse($dirname, $path='', $doDeep=false) {
$path = empty($path)? dirname(__FILE__) : $path; //未指定则为脚本文件所在目录
$dirpath = $path.'/'.$dirname; //目录路径
if ( !is_dir($dirpath) ) { //是否为有效目录
return false;
}
$handle = opendir($dirpath);
while ( ($file = readdir($handle)) !== false ) {
if ( $file!="." && $file!=".." ) { //去除当前目录和上级目录
if ( $doDeep && is_dir($dirpath.'/'.$file) ) { //若为目录,遍历
$files[$file] = traverse($file, $dirpath, $doDeep);
} else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
/**
* 规范输出
*
* @param mixed $var: 要输出的数据
* @return void
*/
function pre_print($var) {
echo '<pre>';
print_r($var);
echo '</pre>';
}
/**
* 获取全国行政代码的insert sql
*
* @param mixed $txt:全国县及县以上行政区划代码的txt文件,
* 由http://www.stats.gov.cn/tjbz/xzqhdm/t20120105_402777427.htm中的数据组成
* @return false|string
*/
function getInsertZoneSql($txt) {
if (!file_exists($txt)) {
return false;
}
$fp = fopen($txt, 'r');
$insql = 'insert into chinazone(`zonecode`, `name`) values';
while (!feof($fp)) {
$city_str = trim(fgets($fp));
$arr_city = preg_split('/[ ]+/', $city_str);
$zonecode = intval($arr_city[0]);
$province_code = substr($arr_city[0], 0, 2); //省或直辖市的代号 前2位
if ($zonecode % 10000 === 0) { //若为省或直辖市
$province_name = $arr_city[1]; //省或直辖市
$name = $province_name;
} else if ($zonecode % 100 === 0) { //若为市, 直辖市则为县区
$city_name = ' '.$arr_city[1];
if(in_array($province_code, array(11, 12, 31, 50))) { //北京 天津 上海 重庆
$city_name = '';
if ($arr_city[1] == '县') $arr_city[1] = '';
}
$name = $province_name.' '.$arr_city[1]; //省市
} else {
$name = $province_name.$city_name.' '.$arr_city[1];
}
$insql .= " ({$arr_city[0]}, '$name'),";
}
$insql = rtrim($insql, ',');
return $insql;
}
分享到:
相关推荐
在Linux环境中向PHP中添加自编函数涉及到对PHP的源码进行操作以及理解PHP的扩展机制。PHP是一种广泛使用的开源脚本语言,尤其适合于Web开发。它的优势包括跨平台性、丰富的数据库支持、免费开源、与其他服务的交互...
### PHP常用函数详解 #### 一、PHP数据库函数(基于mysqli) 在PHP中,与数据库交互是非常常见的需求,尤其是在Web...以上是PHP中常用的一些函数及其基本介绍。熟练掌握这些函数将有助于更高效地开发PHP应用程序。
本“PHP自编教程”专为入门级PHP新手设计,旨在帮助初学者快速掌握PHP的基础知识,步入编程世界。 1. PHP简介: PHP全称“Hypertext Preprocessor”,即超文本预处理器。它是一种开源、免费的脚本语言,主要用于...
自编的PHP多图片上传类是用于处理用户通过表单提交的多个图片文件,将它们存储到服务器,并进行必要的验证和处理。以下是对这个上传类的一些关键知识点的详细说明: 1. **Multipart/form-data**:多图片上传通常...
这个自编函数可以更可靠地处理包含中文字符的文件名,确保即使中文在文件名的开头也能正确提取相关信息。需要注意的是,为了确保在所有情况下都能正确处理中文字符,开发环境和服务器环境应保持一致的字符编码(通常...
"自创函数库简化版0.01"是一个初级版本的个人库,包含了几个核心功能,主要分为三部分:`global.js`、`public.js`以及`connect`文件夹内的`connect.php`。 `global.js`是这个库中的基础部分,其主要功能是设置CSS...
例如,`index.tpl`可能是模板文件,`index.php`可能是对应的PHP控制器,它们共同展示了如何使用自编的Smarty模板引擎。 总之,Smarty模板引擎通过分离PHP代码和HTML,提高了代码的可读性和可维护性。通过学习和实践...
此外,还有一些其他重要的MySQL函数,如: - `mysql_fetch_array()`:用于从结果集中获取一行数据,并将其作为数组返回,便于处理。 - `mysql_fetch_assoc()`:与`mysql_fetch_array()`类似,但返回的是关联数组,键...
我的程序在国外的SREVER上,自己编的程序存放到哪,我很难记清。 所以编了一个简单的目录递归函数,查看我的程序,很方便的php文件
### PHP函数库中文指南 #### Apache相关函数 **1. Apache环境与操作** - **`apache_child_terminate()`**:该函数用于终止当前的Apache子进程。在开发中,如果遇到需要强制结束某个子进程的情况时,这个函数非常...
首先,让我们理解"MFC自编播放器源码"的含义。这通常指的是开发者使用MFC库创建的一个播放器程序,它可以处理音频和视频文件的播放。对于初学者来说,这样的项目是极好的实践平台,因为它涉及到多媒体处理、用户界面...
下面是小编整理的目前web开发中网上使用率比较高的、好的php关于UTF-8编码的判断函数,代码如下: function is_utf8($string) //函数一 { // From http://w3.org/International/questions/qa-forms-utf-8.html ...
本篇文章将围绕标题“php简易框架自己写的大家试试”和描述中的内容,对这个自编的简易PHP框架进行解析。 首先,我们理解这个框架的核心特点。根据描述,它被设计为易于理解和使用,尽管可能没有一些大型成熟框架...
然后,我们利用PHP的内置函数`date()`获取当前的年份和月份。`date('Y', time())`会返回当前完整的四位年份,而`substr($sn, -2)`则是提取年份的后两位。接着,`date('m', time())`会得到当前的月份,一月为01,十二...
1. `str_pad`函数用于将ID转换为固定长度的字符串。如果ID小于预设长度,前面会用零填充,保证编号长度一致。 2. 前缀是在生成编号时直接添加的,可以根据业务需求自由设定。 这个类的灵活性在于可以适应不同的场景...
5. **Goto Anything**:通过快捷键或菜单快速定位文件、函数或行号,提高工作效率。 6. **项目管理**:可以保存和管理多个项目,方便切换和组织不同工作。 7. **插件支持**:通过Package Control,可以安装各种插件...
《PHP5研究室编无乱码版本》是针对PHP编程语言的一个重要参考资料,特别是对于那些使用PHP5版本的开发者来说,这份手册具有极高的实用价值。PHP(Hypertext Preprocessor,即“超文本预处理器”)是一种广泛使用的...
在开发PHP项目时,客户常常会提出一些特定的格式要求,其中产品编号的自动生成是一个常见的需求。产品编号需要有一个统一的格式,例如"QB00001",并且能够保证数字部分是递增的。在这个过程中,可以使用PHP内置的str...