# framework **Repository Path**: qiansion/framework ## Basic Information - **Project Name**: framework - **Description**: 项目常用功能库,目的是避免各插件对依赖支持版本不统一的情况。 - **Primary Language**: PHP - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-02-19 - **Last Updated**: 2025-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QianSion Framework #### 介绍 封装的php 文件系统 #### 安装 ```php composer require qiansion/framework ``` #### 一、CronExpression使用说明 基于mtdowling/cron-expression的定时器表达式解析器,精确到秒,提供表达式的构造器。 ```php // Works with predefined scheduling definitions $cron = Cron\CronExpression::factory('@daily'); $cron->isDue(); echo $cron->getNextRunDate()->format('Y-m-d H:i:s'); echo $cron->getPreviousRunDate()->format('Y-m-d H:i:s'); // Works with complex expressions $cron = Cron\CronExpression::factory('3-59/15 2,6-12 */15 1 2-5'); echo $cron->getNextRunDate()->format('Y-m-d H:i:s'); // Calculate a run date two iterations into the future $cron = Cron\CronExpression::factory('@daily'); echo $cron->getNextRunDate(null, 2)->format('Y-m-d H:i:s'); // Calculate a run date relative to a specific time $cron = Cron\CronExpression::factory('@monthly'); echo $cron->getNextRunDate('2010-01-12 00:00:00')->format('Y-m-d H:i:s'); ``` 从左至右,这些元素的定义如下: 1.秒(0–59) 2.分钟(0–59) 3.小时(0–23) 4.月份中的日期(1–31) 5.月份(1–12) 6.星期中的日期(1–7) 7.年份(1970–2099) CRON表达式是表示要执行的特定命令的计划的字符串。CRON计划的组成部分如下: ``` * * * * * * * - - - - - - - | | | | | | | | | | | | | + 年 [选填、非必要] | | | | | +----- 周的第几天 (0 - 7) (Sunday=0 or 7) | | | | +---------- 月 (1 - 12) | | | +--------------- 月的第几天 (1 - 31) | | +-------------------- 小时 (0 - 23) | +------------------------- 分钟 (0 - 59) +------------------------------ 秒 (0 - 59) ``` 示例: ``` 0 10,14,16 * * * 每天上午10点,下午2点和下午4点 0,15,30,45 * 1-10 * * 每月前10天每隔15分钟 0 0 1 1 * 2018 在2012年1月1日午夜过30秒时 0 8-5 * * MON-FRI 每个工作日的工作时间 */2 * * * 6,7 2018-2020 在2018-2020年的每个星期六星期日每2分钟 ``` #### 二、FTP使用说明 1. 引入类 ```php use QianSion\Ftp\Auth as FtpAuth; use QianSion\Ftp\Client; ``` 2. 登陆 ```php $auth = FtpAuth::getInstance('127.0.0.1', 'root', 'root'); ``` 3. 设置参数 ```php $auth->setOptions(FTP_USEPASVADDRESS, false); ``` 4. 得到操作客户端 ```php $ftpClient = new FtpClient($auth); ``` 5. 调用操作方法 * 上传文件 ```$ftpClient->putObject('远程目录', '本地文件路径', '传输模式');``` * 下载文件 ``` $ftpClient->getObject('远程目录', '本地文件路径', '传输模式'); ``` * 创建目录 ``` $ftpClient->mkdir('路径', '权限', '是否递归创建'); ``` * 删除目录 ``` $ftpClient->rmdir('路径', '是否递归删除'); ``` * 删除文件 ``` $ftpClient->delObject('文件路径') ``` * 得到目录下文件列表 ``` $ftpClient->getObjectList('路径') ``` * 得到文件大小 ``` $ftpClient->getFileSize('文件路径') ``` * ...