Yii2框架测试
主要是大多数新手不怎么会用gitHub,所以写的比较详细!
- 首先打开php.ini中的ftp扩展项extension=php_ftp.dll 去gitHub搜索 如何选择用哪个扩展?
- 选择星星数多的
- 选择最近还在更新的(说明有人还在维护此代码)
直接根据提示下载就行了
进入项目根目录执行下载就行了
下载后查看:
测试:
代码语言:javascript复制<?php
/**
* https://github.com/yii2mod/yii2-ftp
*/
public function actionUseftp()
{
try {
//连接到服务器FTP:
$ftp = new yii2modftpFtpClient();
$config = [
'host' => '',//主机地址
'username' => '',//用户名
'password' => '',//密码
'source_directory' => '../createSql',//待上传的目录路径
'target_directory' => '/htdocs/',//上传到服务器的目录路径
];
if (!is_array($config) && empty($config)) {
return;
}
$ftp->connect($config['host']);
$ftp->login($config['username'], $config['password']);
//或通过SSL(端口22或其他端口)连接到服务器FTP:
/**
$ftp = new yii2modftpFtpClient();
$ftp->connect($config['host'], true, 22);
$ftp->login($config['username'], $config['password']);
*/
//注意:连接在脚本执行结束时隐式关闭(当对象被销毁时)。因此,除了显式重新连接外,没有必要调用$ftp->close()。
//使用上传所有文件和目录很容易:
//以二进制模式上传
$ftp->putAll($config['source_directory'],$config['target_directory']);
//等于
/**
$ftp->putAll($config['source_directory'],$config['target_directory'], FTP_BINARY);
*/
//或以ASCII模式上传
/**
$ftp->putAll($config['source_directory'],$config['target_directory'], FTP_ASCII);
*/
//注意:FTP_ASCII和FTP_BINARY是预定义的PHP内部常量。
//获取目录大小:
//当前目录的大小
/**
$size = $ftp->dirSize();
//给定目录的大小
$size = $ftp->dirSize('/path/of/directory');
*/
//计算目录中的项目:
/**
//当前目录中的count
$total = $ftp->count();
//在给定目录中计数
$total = $ftp->count('/path/of/directory');
//只计算当前目录中的“文件”
$total_file = $ftp->count('.', 'file');
//只计算给定目录中的“文件”
$total_file = $ftp->count('/path/of/directory', 'file');
//只计算给定目录中的“目录”
$total_dir = $ftp->count('/path/of/directory', 'directory');
//只计算给定目录中的“符号链接”
$total_link = $ftp->count('/path/of/directory', 'link');
*/
//所有文件和目录的详细列表:
/**
// 扫描当前目录并返回每个项的详细信息
$items = $ftp->scanDir();
//扫描当前目录(递归)并返回每个项的详细信息
var_dump($ftp->scanDir('.', true));
*/
/**
//支持所有FTP PHP函数,并有一些改进:
// //请求在FTP服务器上执行命令
$ftp->exec($command);
//打开或关闭被动模式
$ftp->pasv(true);
// 通过FTP设置文件的权限
$ftp->chmod('0777', 'file.php');
//删除一个目录
$ftp->rmdir('path/of/directory/to/remove');
// 删除目录(递归)
$ftp->rmdir('path/of/directory/to/remove', true);
//创建一个目录
$ftp->mkdir('path/of/directory/to/create');
//创建一个目录(递归),如果不存在子目录,则自动创建子目录
$ftp->mkdir('path/of/directory/to/create', true);
// and more ...
//获取远程FTP服务器的帮助信息:
//注意:结果取决于FTP服务器。
var_dump($ftp->help());
*/
}catch (Exception $ex) {
Logic::vd($ex);
}
}