配置editplus,让本地文件直接上传到ftp对应目录中
2016-07-05 08:57
633 查看
首先将ftpUpload.php放到指定目录内比如:D:\ftp
2、打开editplus的参数设置
选择用户工具,新建一个组,组名自定义。例如:PHP
然后选择添加工具-》应用程序-》
命令选择PHP.exe文件,例如:F:\PHPnow\php-5.2.14-Win32\php.exe
在参数中填上:【-f d:/ftp/ftpUpload.php -- -f $(FilePath)】 中括号里面的内容
动作选择:捕捉输出。选择应用。
再配置ftpUpload.php文件里面的内容:
// 定义FTP相关参数
$ftp_host = '127.0.0.1'; //服务器IP
$ftp_user = 'demo'; //ftp用户名
$ftp_pass = 'demo'; //ftp密码
$ftp_port = 21; //ftp端口
$pasv_mode = true; //是否安全模式
// 定义开发环境路径
$remote_root_dir = '/demo' ; //ftp目录可以只填写“/”
// 定义本地上传路径(此路径等价于开发环境路径)
$local_root_path = 'F:/PHPnow/htdocs/demo'; //本地文件路径,切记路径
在editplus中选择工具组PHP,会出现如下图:
OK,,,配置结束,我们在本地文件修改下,在某一行添加一个”#”,试试。嘿嘿。。。成功了吧
再附上ftpUpload.php的代码:
本文章是在上面那位写代码的哥们空间里学习的,,大家有兴趣的话,可以去看看。。。。更多PHP技术:http://wjima.a173.cnaaa4.com(本人博客,里面都是一些技巧,当然啦,,也有废话。。呵呵)
2、打开editplus的参数设置
选择用户工具,新建一个组,组名自定义。例如:PHP
然后选择添加工具-》应用程序-》
命令选择PHP.exe文件,例如:F:\PHPnow\php-5.2.14-Win32\php.exe
在参数中填上:【-f d:/ftp/ftpUpload.php -- -f $(FilePath)】 中括号里面的内容
动作选择:捕捉输出。选择应用。
再配置ftpUpload.php文件里面的内容:
// 定义FTP相关参数
$ftp_host = '127.0.0.1'; //服务器IP
$ftp_user = 'demo'; //ftp用户名
$ftp_pass = 'demo'; //ftp密码
$ftp_port = 21; //ftp端口
$pasv_mode = true; //是否安全模式
// 定义开发环境路径
$remote_root_dir = '/demo' ; //ftp目录可以只填写“/”
// 定义本地上传路径(此路径等价于开发环境路径)
$local_root_path = 'F:/PHPnow/htdocs/demo'; //本地文件路径,切记路径
在editplus中选择工具组PHP,会出现如下图:
OK,,,配置结束,我们在本地文件修改下,在某一行添加一个”#”,试试。嘿嘿。。。成功了吧
再附上ftpUpload.php的代码:
<?php /** * Editplus FTP同步脚本 * Author: iColin * Date: 2010年12月11日 * Homepage: http://icolin.org */ // 定义FTP相关参数 $ftp_host = '127.0.0.1'; $ftp_user = 'demo'; $ftp_pass = 'demo'; $ftp_port = 21; $pasv_mode = true; // 定义开发环境路径 $remote_root_dir = '/' ; // 定义本地上传路径(此路径等价于开发环境路径) $local_root_path = 'F:/PHPnow/htdocs/demo'; // 处理参数 array_shift($argv) ; $file_info = array() ; for($i=0 , $length = count($argv);$i < $length 7fe0 ;$i+=2){ $file_info[$argv[$i]] = $argv[$i+1] ; } $file_path = str_replace('\\', '/', $file_info['-f']); // 只允许提交指定路径下的文件 if(strpos($file_path, $local_root_path) === false){ echo 'you can only upload file in the "'.$local_root_path.'"'."\n" ; exit() ; } // 检查文件是否合法 if(!is_file($file_path)) { echo "$file_path is bad file.\n"; exit() ; } // 处理路径 $local_root_dir = substr($local_root_path, strrpos($local_root_path, '/') +1 ); $file_name = substr($file_path, strrpos($file_path, '/')+1) ; $local_root = substr($file_path, 0, strrpos($file_path, '/')+1) ; $remote_root = $remote_root_dir.substr($local_root, strpos($local_root, $local_root_dir) + strlen($local_root_dir)) ; //echo $file_path."\n".$file_name."\n".$local_root."\n".$remote_root."\n" ; //exit() ; // FTP连接 上传 $ftp = getFtpConnection($ftp_host, $ftp_port, $ftp_user, $ftp_pass, $pasv_mode); $files = array($file_name); upload($ftp, $remote_root, $local_root, $files); ftp_close($ftp); /** * 连接FTP * @param $host {string} 主机名 * @param $user {string} 用户名 * @param $pass {string} 密码 * @param $pasv {boolean} 是否打开被动模式 */ function getFtpConnection($host, $port, $user, $pass, $pasv) { $ftp = @ftp_connect($host, $port); if($ftp === false) { echo "Connect to FTP Failed!\n"; exit() ; } if(!@ftp_login($ftp, $user, $pass)) { echo "Login FTP Failed!\n"; exit() ; } if(!@ftp_pasv($ftp, $pasv)) { echo "Choose PASV mode Failed!\n"; exit() ; } return $ftp; } /** * FTP上传文件 * @param $ftp FTP连接标识符 * @param $remote_root {string} 远程路径 * @param $local_root {string} 本地路径 * @param $uploadFiles {array} 要上传的文件 */ function upload($ftp, $remote_root, $local_root, $uploadFiles) { if(count($uploadFiles) == 0) { echo "No file found.\n"; exit() ; } if(!@ftp_chdir($ftp, $remote_root)) { echo "Change dir to $remote_root Failed!\n"; exit() ; } foreach($uploadFiles as $f) { if(ftp_put($ftp, basename($f), $local_root.$f, FTP_BINARY)) { echo "$f uploaded Successfully! \n"; } else { echo "$f upload Failed! \n"; } } } ?>
本文章是在上面那位写代码的哥们空间里学习的,,大家有兴趣的话,可以去看看。。。。更多PHP技术:http://wjima.a173.cnaaa4.com(本人博客,里面都是一些技巧,当然啦,,也有废话。。呵呵)
相关文章推荐
- 用vsftp快速搭建ftp服务器
- 实现FTP整站上传的批处理代码
- 批处理向FTP上传具有指定属性的文件(增量备份)
- 使用 iisftpdr.vbs 创建 FTP 虚拟目录的方法
- Delphi解析FTP地址的方法
- EditPlus 3设置字体大小(附图)
- IIS里FTP多用户设置方法,终于不用Serv-U了
- FTP 服务器关于权限的问题
- IIS FTP PASV模式下更改端口范围的方法
- FTP 常用命令 使用说明
- 通过批处理修改FTP账号和密码
- EditPlus 2.12 使用技巧集萃
- 让 EditPlus 轻松拥有压缩代码和格式化代码功能
- FTP下载服务器 TYPSoft FTP Server V1.11 简体中文版 下载
- FTP 分类账户设置经验谈
- php实现curl模拟ftp上传的方法
- 批处理bat下载FTP服务器上某个目录下的文件
- php建立Ftp连接的方法
- FTP服务器端软件Serv-U FTP Server 6.4.0.5&0.4 Final 汉化版 下载
- ftp突然直接连接不上了的解决方法