第一步:修改 phpcms/modules/admin/templates/site_add.tpl.php 找到

<legend><?php echo L('release_point_configuration')?></legend>

大约在64行的位置
将他下面的整个table 替换成如下代码

<table width="100%" class="table_form">
<tr>
<th width="80" valign="top"><?php echo L('release_point')?>:</th>
<td> <select name="release_point[]" size="3" id="release_point" multiple title="<?php echo L('ctrl_more_selected')?>" onchange="if($(this).val() > 0){$('#ftp_top').show();}else{$('#ftp_top').hide();}">
<option value='' selected><?php echo L('not_use_the_publishers_some')?></option>
<?php if(is_array($release_point_list) && !empty($release_point_list)): foreach($release_point_list as $v):?>
<option value="<?php echo $v['id']?>"><?php echo $v['name']?></option>
<?php endforeach;endif;?>
</select> </td> </tr>
<tr id="ftp_top" style="display:none" >
<th width="120" valign="top">发布到FTP根目录:</th>
<td><input type="radio" name="setting[ftp_top]" value="1" /> 是 <input type="radio" name="setting[ftp_top]" value="0" checked /> 否 <br />注:如果选择是 那么远程FTP将不会包含站点目录,适用于不能子目录绑定的FTP!!</td>
</tr> </table>

二步 :修改 phpcms/modules/admin/templates/site_edit.tpl.php 找到

<legend><?php echo L('release_point_configuration')?></legend>
<table width="100%" class="table_form">
<tr>
<th width="80" valign="top"><?php echo L('release_point')?>:</th>
<td> <select name="release_point[]" size="3" id="release_point" multiple title="<?php echo L('ctrl_more_selected')?>" onchange="if($(this).val() > 0){$('#ftp_top').show();}else{$('#ftp_top').hide();}">
<option value='' <?php if(!$data['release_point']) echo 'selected';?>><?php echo L('not_use_the_publishers_some')?></option>
<?php if(is_array($release_point_list) && !empty($release_point_list)): foreach($release_point_list as $v):?>
<option value="<?php echo $v['id']?>"<?php if(in_array($v['id'], explode(',',$data['release_point']))){echo ' selected';}?>><?php echo $v['name']?></option>
<?php endforeach;endif;?>
</select></td>
</tr>
<tr id="ftp_top" <?php echo $data['release_point'] ? '' : 'style="display:none"'?> >
<th width="120" valign="top">发布到FTP根目录:</th>
<td><input type="radio" name="setting[ftp_top]" value="1" <?php echo $setting['ftp_top'] ? 'checked' : '';?> /> 是 <input type="radio" name="setting[ftp_top]" value="0" <?php echo $setting['ftp_top'] ? '' : 'checked';?> /> 否 <br />注:如果选择是 那么远程FTP将不会包含站点目录,适用于不能子目录绑定的FTP!!</td>
</tr> </table>

第三步: 修改  phpcms/modules/release/index.php

foreach ($data as $v) {

将整个foreach循环改成如下

if(strpos($this->site['setting'], "'ftp_top' => '1'"))$ftp_top = pc_base::load_config('system','html_root');
foreach ($data as $v) {
$status = -1;
$n_path = isset($ftp_top) ? preg_replace(array('|^'.$ftp_top.'/'.$this->site['dirname'].'/|iUs', '|^/'.$this->site['dirname'].'/|iUs'), '', $v['path']) : $v['path'];
switch ($v['type']) {
case 'del':
if ($ftps->f_delete($release_point['path'].$n_path)) {
$status = 1;
}
break;
case 'add':
case 'edit':
if ($ftps->put($release_point['path'].$n_path, PHPCMS_PATH.$v['path'])) {
$status = 1;
}
break;
}
$queue->update(array('status'.($id+1)=>$status, 'times'=>SYS_TIME), array('id'=>$v['id']));
}

发布站点到远程FTP根目录的更多相关文章

  1. Debian初识(选择最佳镜像发布站点加入source.list文件)

    选择最佳镜像发布站点加入source.list文件:netselect,netselect-apt “该将哪个Debian镜像发布站点加入source.list文件?”.有很多方法来选择镜像发布站点, ...

  2. IIS发布站点错误收集(持续更新)

    本文主要收集IIS在发布站点过程中遇到的错误,并提供解决办法.并亲测可行.如果您也在使用IIS发布站点的过程中遇到了一些问题,欢迎留言提问. (1.) HTTP错误500.21-Internal Se ...

  3. 使用VisualSVN Server自动发布站点

    使用VisualSVN Server自动发布站点可以节省大量的发布时间. 适用于项目测试版本 通常一个项目在测试阶段会遇到以下问题 1.开发人员修改缺陷要实时反应到测试环境 2.项目经理想让客户及时看 ...

  4. IIS发布站点错误

    发布站点的时候出现以下错误:解决方法: 1.  设置c:windows\temp 目录访问权限 temp--> 属性-->安全-- > 添加network service --> ...

  5. 通过IIS发布站点和VS2012自带发布网站

    vs2012通过IIS发布站点 http://jingyan.baidu.com/article/0964eca2d7beeb8285f536bd.html 用VS2012自带发布网站 http:// ...

  6. Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本

    说明:  1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...

  7. Linux下自动备份MySQL数据库并上传到远程FTP服务器

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明:  1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库 ...

  8. Spring Boot 揭秘与实战(八) 发布与部署 - 远程调试

    文章目录 1. 依赖 2. 部署 3. 调试 4. 源代码 设置远程调试,可以在正式环境上随时跟踪与调试生产故障. 依赖 在 pom.xml 中增加远程调试依赖. <plugins> &l ...

  9. IIS发布站点错误收集

    转载:http://www.cnblogs.com/hangwei/p/4249406.html 本文主要收集IIS在发布站点过程中遇到的错误,并提供解决办法.并亲测可行.如果您也在使用IIS发布站点 ...

随机推荐

  1. Storm的本地运行模式示例

    以word count为例,本地化运行模式(不需要安装zookeeper.storm集群),maven工程, pom.xml文件如下: <project xmlns="http://m ...

  2. webdriver(python)学习笔记一

    最近有python开发的项目,也正打算要学习自动化与python语言.因此想通过学习python版本的webdriver来一同学习. 学习过程中参考资料有乙醇的博客:https://github.co ...

  3. IOS AsyncSocket

    导入AsyncSocket.h  AsyncSocket.m   AsyncUdpSocket.h   AsyncUdpSocket.m   以及  CFNetWork.framework async ...

  4. 你认为你很了解Javascript?

    (翻译不当之处请谅解) 来源:http://www.ido321.com/914.html 这里有5个小脚本,有助于你真正理解JavaScript核心–闭包和作用域.没有在控制台运行之前,尝试回答每个 ...

  5. 中断——中断处理程序的进入与退出 (基于3.16-rc4)

    上一篇博文我们分析了中断描述符表的中断门初始化过程,并且在interrupt数组中初始化过程中,可以看到每个中断处理程序都会跳入common_interrupt中.下面我们分析下common_inte ...

  6. struts2实现文件上传

    Struts2中实现简单的文件上传功能: 第一步:将如下文件引入到WEB_INF/lib目录下面,对应的jar文件可自行下载 第二步:在包test.struts2下建立类UploadFile pack ...

  7. hive-mysql安装配置

    默认情况下,hive的元数据信息存储在内置的Derby数据中.Facebook将hive元数据存储在关系数据库 1.安装好mysql ,sudo apt-get install mysql-serve ...

  8. <Araxis Merge>保存文件

    1.保存文件 在任何时候都可以使用File菜单中的Save和Save As来保存文件.使用Save将修改的部分保存回文件.使用Save As将会用新名称来保存文件.在你右击文件面板的时候也可以从快捷菜 ...

  9. 通过实例让你真正明白mapreduce---填空式、分布(分割)编程

    本文链接:http://www.aboutyun.com/thread-8303-1-1.html 问题导读: 1.如何在讲mapreduce函数中的字符串等信息,输出到eclipse控制台?2.除了 ...

  10. leetcode@ [310] Minimum Height Trees

    For a undirected graph with tree characteristics, we can choose any node as the root. The result gra ...