php目录间拷贝文件方法

简介: 项目中需要从不同文件夹中同步文件,自己写了个小方法,备注一下 设计思路  1.检查拷贝文件夹是否存在。 2.逐级检查子文件夹内文件 3.检查各个文件夹内文件 4.检查目标目录路径是否存在,不存在时创建同名文件夹 5.拷贝到目标目录。

项目中需要从不同文件夹中同步文件,自己写了个小方法,备注一下

设计思路 

1.检查拷贝文件夹是否存在。

2.逐级检查子文件夹内文件

3.检查各个文件夹内文件

4.检查目标目录路径是否存在,不存在时创建同名文件夹

5.拷贝到目标目录。

function finddir($path = '') {
	//切换当前路径(递归用)
	chdir ( $path );
	$base_path = getcwd ();
	//判断路径是否存在
	if (is_dir ( $base_path )) {
		//打开目录句柄。
		$dir = opendir ( $base_path );
		while ( ($file = readdir ( $dir )) !== false ) {
			//排除根目录路径('.','..')
			if (! in_array ( $file, array (".", ".." ) )) {
				//文件拷贝
				if (is_file ( $file )) {
					//拷贝目标目录
					$aim_path = str_replace ( 'downfile', 'copyfile', $base_path );
					//判断目录是否存在,如果否,创建目录。
					if (! is_dir ( $aim_path )) {
						mkdir ( $aim_path, 0777, TRUE );
					}
					//拷贝到指定目录
					copy ( $file, $aim_path . '/' . $file );
				}
				//查找子文件夹
				if (is_dir ( $file )) {
					finddir ( $file );
					chdir ( '../' );
				}
			}
		}
		//关闭目录句柄
		closedir ( $dir );
	}
}


目录
相关文章
|
29天前
|
存储 运维 Serverless
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
15天前
|
API PHP UED
​一个PHP文件实现联系表单自动发送邮件
使用PHP和AOKSend服务,可以创建一个联系表单,收集用户信息并自动发送邮件。HTML表单包含姓名、邮箱和消息字段。PHP文件`send_mail.php`处理表单提交,通过AOKSend的SMTP设置(如主机、端口、API密钥)使用PHPMailer发送邮件到指定地址。代码中还包括安全措施,如使用`htmlspecialchars`防止XSS攻击。这种方法增强了网站的用户沟通体验,并依赖AOKSend的稳定性和API进行高效邮件发送。
|
29天前
|
PHP
php 上传大文件获取失败问题
php 上传大文件获取失败问题
15 0
php 上传大文件获取失败问题
|
1月前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
22天前
|
SQL 缓存 PHP
PHP性能优化的科学方法与实践
在追求网站和应用高性能的当下,PHP作为广泛使用的服务器端脚本语言,其性能优化变得尤为重要。本文将基于数据导向和科学严谨的原则,探讨PHP性能优化的有效策略。首先,通过分析PHP运行机制和性能瓶颈,指出优化的必要性;然后,结合最新的研究成果和实验数据,详细介绍代码层面、配置调优、数据库交互以及缓存应用等方面的具体优化措施;最后,以案例形式展示优化效果,并对PHP性能优化的未来趋势进行展望。旨在为开发者提供一套逻辑严密、实证支持的性能提升方法论。
15 0
|
24天前
|
PHP
php方法
【7月更文挑战第2天】php方法
12 0
|
25天前
|
算法 PHP
轻松实现商品多属性组合:深入理解笛卡尔乘积的 PHP 实现方法
在电商场景中,生成商品属性组合的关键是计算笛卡尔乘积。本文以通俗易懂的方式展示了如何用PHP实现这一功能。使用Laravel时,可直接通过`collect`对象的`crossJoin`方法轻松获取;手动实现则涉及递归算法,通过`CarteSianHandler`类完成。最终结果为一个包含所有属性组合的数组,适用于处理商品的多种属性选项。
15 0
|
25天前
|
监控 安全 PHP
PHP性能优化的科学方法
在数字时代的浪潮中,PHP作为广泛使用的服务器端脚本语言,其性能优化对于提升网站响应速度和用户体验至关重要。本文将深入探讨PHP性能优化的科学方法,从代码层面的优化到服务器配置的调整,以及利用工具进行性能监控与分析。我们将基于权威数据源和实际案例,揭示如何通过科学严谨的方法来提升PHP应用的性能。
23 0
|
1月前
|
PHP
php+ajax传file文件数据
php+ajax传file文件数据
17 0
|
1月前
|
搜索推荐 算法 PHP
详尽分享记6种php加密解密方法
详尽分享记6种php加密解密方法
64 0