Php system sync,syncfiles.php

/*数据同步代码*/

header('Content-type:text/html;charset=utf-8');

include 'ftpClass.php';

echo ('同步中');

$ftp = new ftp('122.14.217.130', 21, 'ftptest', 'ftptest'); // 打开FTP连接

//遍历递归主服务器文件

$localFileArr = array();

//获取本地文件夹所有内容

function getLocalFiles($dir)

{

global $localFileArr, $localDir;

$files = scandir($dir);

foreach ($files as $file) {

if ($file == '.' || $file == '..') {

continue;

}

$prefixDir = $dir . '/';

if (is_dir($prefixDir . $file)) {

getLocalFiles($prefixDir . $file);

} else {

$localFileArr[] = preg_replace("/\.\/testdir\//", '', $prefixDir . $file);

}

}

}

$localDir = './testdir';

getLocalFiles($localDir);

//print_r($localFileArr);

//遍历递归从服务器文件

$remoteFileArr = array();

//获取远程文件夹所有内容

function getRemoteFiles($dir)

{

global $ftp, $remoteFileArr, $remoteDir;

//获取该目录的所有文件

$list = $ftp->read($dir);

foreach ($list as $value) {

if ($value == '.' || $value == '..') {

continue;

}

$currentValue = $dir . '/' . $value;

//如果是文件夹 则继续遍历

if ($ftp->isFtpDir($currentValue)) {

getRemoteFiles($currentValue);

} else {

$remoteFileArr[] = trim($value, '/');

}

}

}

$remoteDir = '/';

getRemoteFiles($remoteDir);

//print_r($remoteFileArr);

//对比 将不同的筛选出来

$needUploadFileArrs = array_diff($localFileArr, $remoteFileArr);

//var_dump($needUploadFileArrs);

//永不超时

set_time_limit(0);

//进行同步

foreach ($needUploadFileArrs as $needUploadFileArr) {

$ftp->up_file($localDir . '/' . $needUploadFileArr, $remoteDir . $needUploadFileArr);

}

//关闭连接

$ftp->close();

echo '同步成功';

?>

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值