apache做反向代理服务器

apache做反向代理服务器
apache代理分为正向代理和反向代理:
1 正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器)
适用于:
①局域网的代理服务器(一般是网关,相当于squid的一般用法)
②访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理

Read More

MYSQL外键(Foreign Key)的使用

在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。
外键的使用条件:

  1. 两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);
  2. 外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;
  3. 外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;

外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;

Read More

滚动条到底部时自己加载新的内容

方案一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>  
<html lang="en">
<head>
<meta charset="gb2312">
<title>滚动条到底部时自己加载新的内容</title>
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
var page_num=2;
$(document).ready(function(){
$(window).scroll(function(){
if($(document).scrollTop()>=$(document).height()-$(window).height()){
var div1tem = $('#container').height()
var str =''
$.ajax({
type:"GET",
url:'ajaxdata.php',
dataType:'json',
beforeSend:function(){
$('.ajax_loading').show() //显示加载时候的提示
},
success:function(ret){
$(".after_div").before(ret) //将ajxa请求的数据追加到内容里面
$('.ajax_loading').hide() //请求成功,隐藏加载提示
}
})
}
})
})
</script>
</head>
<body>
<div>
<div style='width:100%;height:1200px'>文章内容</div>
<div class='after_div'></div>
<div class='ajax_loading' style='background:#F0F0F0;height:60px;width:100%;text-align:center;line-height:60px;font-size:18px;display:none;position:fixed;bottom:0px'>
<img src="img/loadinfo.net.gif"> 数据加载中
</div>
</div>
</body>
</html>

Read More

生成有偏随机数据

问题:

你想生成随机数字,但又希望这些数字具有某种倾向性,也就是说这些数字出现在某个范围内的概率会比出现在其他范围内的概率更高。例如,你想要根据每个广告活动未展示的剩余数目成比例地推出一系列网页横幅广告。

方案:

使用如例下所示的pc_rand_weighted()函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php  
/* 大致思想就是:将剩余展示数目累加
比如:A:5,B:8,C:10
累加后:A:5,B:13,C:23
然后随即一个数,范围0~23
判断 随机数是否小于A或B或C,小于则成功

效果:谁的剩余展示数目越多,被随机到的几率越高
*/
function pc_rand_weighted($numbers)
{
$total = 0;
foreach ($numbers as $number => $weight) {
$total += $weight;
$distribution[$number] = $total;
}
$rand = mt_rand(0, $total - 1);
foreach ($distribution as $number => $weights) {
if ($rand < $weights) {
return $number;
}
}
}
?>

Read More