| Profilo di 磊Mrgaolei的BlogFotoBlogElenchi | Guida |
|
|
16 gennaio PHP 计算权重算法假设有一堆服务器,我根据他们的配置给他们打分,想通过一个函数,随机的到一个服务器实例,当然不是百分百随机,而是配置越高的服务器得到几率越高,这就是权重。写了半天写出来了个算法,不过目前还有有一点Bug,就是权重值不能有重复的,否则重复的永远不会得到。 <?php * 权重DEMO $data = array( function checkWeight($data) { # 权重和 # 根据权重数排序 # 产生随机数,最小1,最大权重和 function swapvar(&$var1, &$var2) { 14 gennaio PHP 5.2.1 参数类型不能定义成基础类型的问题在PHP 5.2.5中,可以按照如下方法声明函数 function getProductById(int $id); 而在PHP 5.2.1中,调用时则会报错,具体原因未知。 11 agosto php通过ADO在Windows下操作Access数据库范例 <?php //读取mdb数据库例程 $conn = new com("ADODB.Connection"); $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("data/db.mdb"); $conn->Open($connstr); $rs = new com("ADODB.RecordSet"); $rs->Open("select * from [table1]",$conn,1,1); while(! $rs->eof) { $f = $rs->Fields(1); echo $f->value; $rs->MoveNext(); } ?> 网站负载承受力差又一波——网民捐款挤瘫红十字会与基金会两大网站 这说明了什么? 系统架构师对一个Web项目来说多么重要。 18 aprile 今天在rhel4下编译apache+php使其支持gd库的感想 以前一直认为是个很繁琐的过程,编译php的时候需要加一大堆的参数,弄不好就要出错。今天静下心来好好琢磨了一下,原来只要gd库安装好了,php编译的时候只需要--with-gd={GD库的路径}就可以了,无需--with-png-dir={} --with-jpeg-dir={}等等一大堆。 今天在装好gd库的前提下,只用了下面的简单命令,就装好了。 './configure' \ '--with-apxs2=/usr/local/apache2/bin/apxs' \ '--with-mysql=/usr/include/mysql/' \ '--enable-mbstring' \ '--with-gd=/usr/lib' 08 aprile 写了一个PHP5的连接数据库类,支持分页,面向对象 <?php class Database { private $host = "localhost"; private $schema = "hgcms"; private $username = "hgcms"; private $password = "123456"; private $connected = false; private $conn = null; /** * Database 类 构造方法 * * @param string $host * @param string $schema * @param string $username * @param string $password */ public function __construct($host = null, $schema = null, $username = null, $password = null, $autoConn = true) { $host == null ? $host = self::getHost() : $host = $host; $schema == null ? $schema = self::getSchema() : $schema = $schema; $username == null ? $username = self::getUsername() : $username = $username; $password == null ? $password = self::getPassword() : $password = $password; self::setHost($host); self::setSchema($schema); self::setUsername($username); self::setPassword($password); if ($autoConn) self::connect(); } /** * connect() * */ public function connect() { if ($this->connected) return; $conn = @mysql_connect(self::getHost(), self::getUsername(), self::getPassword()) or die("Error Database unavaliable!"); self::setConn($conn); mysql_select_db(self::getSchema(), self::getConn()) or die("Error Select db!"); mysql_query("set names 'GBK'"); $this->connected = true; } /** * execute($sql) without resultset * * @param string $sql * @return resource */ public function execute($sql) { #echo "<h1>" . $sql . "</h1>"; $result = @mysql_query($sql, self::getConn()) or die("Cann't execute T-SQL : <br />\n $sql"); return $result; } /** * executeCount($sql) * * @param string $sql * @return integer */ public function executeCount($sql) { $sql = str_replace("*", "count(*) as count", $sql); $result = self::executeQuery($sql, 0); return $result[0]->count; } /** * executeQuery($sql) with resultset * * @param string $sql * @param integer $pageSize * @param integer $page * @return object */ public function executeQuery($sql, $pageSize = 20, $page = 1) { $array = array(); # 开始分页处理 if ($pageSize != 0) { $recordCount = self::executeCount($sql); $pageCount = intval($recordCount / $pageSize); if ($recordCount % $pageSize) $pageCount ++; if (isset($page) && intval($page) > 0){ $page = intval($page); } else { $page = 1; } if ($page > $pageCount) $page = $pageCount; $offset = $pageSize * ($page - 1); $limit = " limit $offset, $pageSize"; $sql.= $limit; } # 分页处理结束 $result = self::execute($sql); while ($rs = mysql_fetch_object($result)) { $array[] = $rs; } return $array; } /** * getHost() * * @return string */ public function getHost() { return $this->host; } /** * setHost($host) * * @param string $host */ public function setHost($host) { $this->host = $host; } /** * getSchema() * * @return string */ public function getSchema() { return $this->schema; } /** * setSchema($schema) * * @param string $schema */ public function setSchema($schema) { $this->schema = $schema; } /** * getUsername() * * @return string */ public function getUsername() { return $this->username; } /** * setUsername($username); * * @param username $username */ public function setUsername($username) { $this->username = $username; } /** * getPassword() * * @return string */ public function getPassword() { return $this->password; } /** * setPassword($password) * * @param string $password */ public function setPassword($password) { $this->password = $password; } /** * getConn() * * @return resource */ public function getConn() { return $this->conn; } /** * setConn($conn) * * @param resource $conn */ public function setConn($conn) { $this->conn = $conn; } } ?> 15 luglio 终于搞定了PHP5最新版本链接Oracle9i或者更低版本的数据库由于公司数据库服务器是Oracle9i,现在要做一套管理系统,需要用PHP链接公司数据库,费了半天劲启动不了OCI8.dll。从网上查了很多资料,原来PHP从5.12(大概是这个版本)已经放弃了Oracle10G以下版本的客户端连接。也就是说PHP5.12版本里面的OCI8.dll只支持链接Oracle10G或者更高版本,我的Oracle9i肯定不行了。网上也有一些解决方案,甚至找到了有人说需要反编译dll文件,我狂晕…… 经过n次重装系统,发现了一个免费的好方法: 去Oracle官方网站下载免费的Oracle10G Client,(不是XE,那个只有SQLPlus),然后将9i的服务加入到树就可以了。重启Apache,PHP成功打开OCI8支持。 |
|
|