第一步:修改 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. Mybatis拦截器介绍

    拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法.Mybatis拦截器设计的一个初 ...

  2. 16、编写适应多个API Level的APK

     确认您是否需要多apk支持 当你试图创建一个支持跨多代android系统的应用程序时,很自然的 你希望你的应用程序可以在新设备上使用新特性,并且不会牺牲向后兼 容.刚开始的时候认为通过创建多个ap ...

  3. Redhat修改主机名及网络配置

    通过命令修改主机名 hostname #查看当前主机的主机名 hostname NEWHOSTNAME #临时修改当前主机名 通过配置文件修改主机名 vi /etc/sysconfig/network ...

  4. Flume OG 与 Flume NG 的区别

    1.Flume OG:Flume original generation 即Flume 0.9.x版本    Flume NG:Flume next generation ,即Flume 1.x版本 ...

  5. 【开发流程】土耳其CDD工具

    土耳其的CDD工具开发到现在已经三个星期了,进展非常不顺利,从最开始的遇到很多难题没法解决到现在工具可以运行但是有一个bug. 起初遇到的ExternalUtranCell这一页的信息很难填,没有解决 ...

  6. 在ASP.NET下做了一个实验MVC的小东西

    星期五下班前一时兴起,对MVC发表了一点看法.后来就想干脆弄个小东西来验证一些自己的想法帮组理清思路.所要源代码的免了,3个小时的急就章实在是乱得可以,既没有好的架构,也没有任何代码质量可言,主要是实 ...

  7. 网站繁简切换的JS遇到的一个BUG

    公司打算进入台湾市场,最近开发了繁体版本的网站,数据库里的信息全是简体,除了网页上固定的文字手动翻译了,文章内容标题都不是繁体. 于是在网上找了一段比较流行的繁简切换的JS实现了,不过后来却发现,有些 ...

  8. BITED数学建模七日谈之二:怎样阅读数学模型教材

    今天进入我们数学建模七日谈的第二天:怎样阅读数学建模教材? 大家再学习数学建模这门课程或准备比赛的时候,往往都是从教材开始的,教材的系统性让我们能够很快,很深入地了解前人在数学模型方面已有的研究成果, ...

  9. mysql怎么让一个存储过程定时执行

    比如说每天的12:30执行 查看event是否开启: show variables like '%sche%'; 将事件计划开启: set global event_scheduler=1; 关闭事件 ...

  10. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程:简介及目录》(附上完整工程文件)

    介绍:讲述如何使用Genesis-3D来制作一个横版格斗游戏,涉及如何制作连招系统,如何使用包围盒实现碰撞检测,软键盘的制作,场景切换,技能读表,简单怪物AI等等,并为您提供这个框架的全套资源,源码以 ...