最近做一个项目,需要在短期之内开发出一个系统来控制一群网站,也就是站群管理系统,还是用PHP开发,然而时间太紧凑了,于是近期使用了另外一种方式来实现站群管理:传参

百度一下,会发现网络上很多大佬提供了多种方式的传参,也就是数据调用,通过这种方式,可以控制一群网站的一些核心参数或者数据,达到1控N的效果。

优缺点也很明显,优点是便捷快速易懂
缺点是功能限制,只能控制固定的参数或者标签,无法实现网站文档更新的群控,只能实现网站里的一些文本、数字、链接、图片、开关等静态数据。

目前比较常用两种方式:JS传参URL传参****


JS传参:Html或Htm静态页中调用JS文件中的变量值

  • 1、新建JS文件,文件名随意,如test.js
  • 2、在html中调用这个JS:<script src="/styles/js/test.js"></script>
  • 3、在html文件中添加调用变量值(参数)代码:
<script>document.write(key1);</script>//key1是自定义的识别标签,类似id
  • 4、JS文件中的写法
var key1=\'文本1\';
var key2=\'文本1\';
var key3=\'文本1\';

注:javascript文件中可以写多个变量,只要在html文件写好对应变量名即可


URL传参:通过在url里的变量值来确定要传递的数据

使用场景:我在一个网页中,网页有很多固定的数据,如:公司名称、电话、地址、电话的链接、某段文字、某张图片等,然后公司名下有众多含这些数据的网站,需要做到群控管理这些数据,那么我就选择用url传参的方式来实现需要的功能。注意,这种方式仅适用于对源码不是很重视的网站,比如百度的竞价站或者某些快餐网站,对seo没要求的站点,并且这种传输方式不支持发布文章等功能,只能传递固定的数据。

  • 1、新建一个PHP文件,比如test.php,代码内容如下
<?php
$_GET[\'site\'] ? $site = $_GET[\'site\'] : $site = 0; //定义site这个变量,并且默认为第0个参数(表示第1个)开始
$_GET[\'mod\'] ? $mod = $_GET[\'mod\'] : $mod = 0; //定义mod这个变量,并且默认为第0个参数(表示第1个)开始
$_GET[\'ism\'] ? $ism = $_GET[\'ism\'] : $ism = 0; //定义ism这个变量,并且默认为第0个参数(表示第1个)开始
$dataarr = array(
	\'baidu\' =>array(
        \'logo\' => array(\'logo名称1\',\'logo名称2\',\'logo名称3\'),
        \'header\' => array(\'头部内容1\',\'头部内容2\',\'头部内容3\'),
        \'footer\' => array(\'底部内容1\',\'底部内容2\',\'底部内容3\'),
        \'tel\' => array(\'010-123456\',\'010-345678\',\'010-124578\'),
	),
	\'360\' =>array(
        \'logo\' => array(\'logo名称1\',\'logo名称2\',\'logo名称3\'),
        \'header\' => array(\'头部内容1\',\'头部内容2\',\'头部内容3\'),
        \'footer\' => array(\'底部内容1\',\'底部内容2\',\'底部内容3\'),
        \'tel\' => array(\'010-123456\',\'010-345678\',\'010-124578\'),
	),
	\'google\' =>array(
        \'logo\' => array(\'logo名称1\',\'logo名称2\',\'logo名称3\'),
        \'header\' => array(\'头部内容1\',\'头部内容2\',\'头部内容3\'),
        \'footer\' => array(\'底部内容1\',\'底部内容2\',\'底部内容3\'),
        \'tel\' => array(\'010-123456\',\'010-345678\',\'010-124578\'),
	),
 );
if(array_key_exists($site, $dataarr)){
	$data = $dataarr[$site][$mod][$ism];//匹配三个变量所对应的参数
	$datajs = "document.write(\'".$data."\')";//参数用JS转html的形式
}
echo $datajs;//输出最终转化好的数据
?>

对应的每个参数位置

  • 2、在html或者htm中调用你想要的参数,比如我要baidu+footer+1所对应的数据
    调用案例:
<p><script src="http://www.xxx.com/test.php?site=baidu&mod=footer&ism=1"></script></p>

最终这一段代码的输出是 “底部内容2”


以上两种方法其实都很常用,只是看怎么用,传参的方式也有很多种,只是这两种比较常用罢了,我也蛮喜欢,也算以一种比较冷门的方式实现了群控的目的,后期如果有更好的传参方式,将做更新。

相关文章: