My MSN

Click OK to add this content

 
Content Preview: rss
-+nginx for windows 的目录表示方法真令人捉摸不透
292 days ago
为了配置主目录,我尝尽了无数方法 C:\web\ c:/web/ 等等 最后google了好几页,才发先是特殊的表示方法: /cygdriver/C/web 其中cygdriver代表windows目录结构,第二个C代表c盘。后面跟的就是路径了。
-+PHP 计算权重算法
318 days ago
假设有一堆服务器,我根据他们的配置给他们打分,想通过一个函数,随机的到一个服务器实例,当然不是百分百随机,而是配置越高的服务器得到几率越高,这就是权重。写了半天写出来了个算法,不过目前还有有一点Bug,就是权重值不能有重复的,否则重复的永远不会得到。 <?php /** * 权重DEMO */ $data = array(     array('server1', 5),     array('server2', 10),     array('server3', 5),     array('server4', 7),     array('server5', 3),     array('server6', 31) ); var_dump(checkWeight($data)); function checkWeight($data) {     # 权重和     $sum = 0;     # 权重值不能有负数     foreach ($data as $val) {         if ($val[1] < 0) return false;         $sum += $val[1];     }     # 根据权重数排序     $sorted = true;     while ($sorted) {         $sorted = false;         for ($i = 0; $i < count($data) - 1; $i ++) {             if ($data[$i][1] < $data[$i + 1][1]) {                 swapvar(&$data[$i], &$data[$i + 1]);                 $sorted = true;             }         }     }     # 产生随机数,最小1,最大权重和     $randnum = rand(1, $sum);     echo $randnum;     # 如果随机数大于等于最大值,返回最大     if ($randnum >= $data[0][1]) return $data[0][0]; ...
-+PHP 5.2.1 参数类型不能定义成基础类型的问题
320 days ago
在PHP 5.2.5中,可以按照如下方法声明函数 function getProductById(int $id); 而在PHP 5.2.1中,调用时则会报错,具体原因未知。
-+PHP 中保存一个远程图片/文件到本地的更有效方法
348 days ago
网上搜索了很多方法,大多数是: ob_start();       # 开启缓冲 readfile($url);    # 输出远程文件的二进制到缓存中 $img = ob_get_contents();    # 把这些二进制存入变量 ob_end_clean(); # 清空缓存 $fp = fopen(“c:/123”, "w”); fwrite($fp, $img);                 # 保存到硬盘 fclose($fp); 这个方法不好,首先用ob_start()局限性大,况且必须写在第一行,否则高版本PHP无效,会将二进制输出到浏览器,也就是没有开启缓冲区,导致浏览器僵死。 其实最简单最安全的方法是: copy($url, “c:/123”); 从PHP 4.3.0开始,copy函数支持从网络上copy,所以用这个方法代替上述方法。前提是PHP配置文件需要打开fopen。
-+PHP 正则表达式学习小结(1)
348 days ago
一、模式修正符号 preg_match(“/^a/ i ”, $subject, &$matches); 这条正则表达式中红色的i便是模式修正符号,i是不区分大小写,经常用。今天用到了一个s,含义是让任意匹配符.支持换行。例如要匹配一段html,中间包含若干空格回车,直接(.*)是得不到的,默认.不匹配空格回车,加上模式修正符号s就可以实现,例如: preg_match(“/<html>(.*?)<body>/s”, $subject, &$matches); 该正则表达式得到<html>和<body>之间的内容。 二、任意空白符号\s 匹配的内容前后后很多换行空格?用\s吧,将匹配所有空格换行。例如: preg_match(“/<html>\s+(.*?)</body>/i”, $subject, &$matches); 该正则将不要<html>后面的所有空格换行。
© 2009 MicrosoftMicrosoft