Archive for php

本来没想在mac上搭建开发环境,但是我搜索php安装的时候。发现有mac安装就看一下麻不麻烦。然后发现自带php5,并且自带Apache,卧槽那还用啥虚拟机。   安装方法和官网还是有出入的。我大体看了一下配置,没有盲目修改。 sudo vim /private/etc/apache2/httpd.conf 将LoadModule php5_module libexec/apache2/libphp5.so注释去掉。另一个,没搜到。 Include /private/etc/apache2/other/*.conf这个里边有个php5 的conf,将下边的也插入进去了,所以不用添加。 项目的根目录是/Library/WebServer/Documents. 插入个<?php phpinfo(); ?>,成功。 重启apache, sudo apachectl restart   rewrite_module模块开启 LoadModule rewrite_module libexec/apa

Continue

需要定时把一些数据表备份,并做数据统计。 <pre lang="php">$dates=date('Ymd',time()); //player表的备份 $newtable = "PlayerLog" . $dates; $sql = "CREATE TABLE ".$newtable." LIKE game_qd.Player"; $linelist = $logdb-&gt;exec($sql); print_r($linelist); echo "\n\r\n"; $sql2 = "INSERT INTO ".$newtable." SELECT * FROM game_qd.Player"; $linelist = $logdb-&gt;exec($sql2); print_r($linelist); echo "\n\r\n player done";</pre> ,主要的代码就两行。 还学会了left  join的用法,当时没想到,是解决了判断一个备份表里有,另一个备份表里没有是计算差值时的问题。 &nbsp; <pre lang=

Continue

十一假期这么长,本想着前段时间没有学习,这里给补上。半路接了个网站,要用php开发,寻思着学个框架吧,开发还快速,选择了貌似中国最好的php框架,边看thinkphp官网的文档,然后到论坛下载了一个blog,就开工了。文档很详细,学起来也简单,偷懒中写完了。1000rmb到手了。顺便用到PHP-ExcelReader,一起学习了 这样其实也不错,可以很快的将学到的东西用到实践中去,以后用php快速开发可以用thinkphp的这个框架了^_^。 本想着假期接着学习golang和erlang的,现在泡汤了。抽时间一点一点的看实在是不符合我的性格,像我看小说,不看则已,一看就必须看完它。

Continue

apache在本机上访问正常,但是用ip访问为403禁止访问! apache配置文件修改: <Directory "D:/wamp/www"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mo

Continue

在wamp下的开发环境,查找资料有两种方法。使用query,使用prepare。看的代码是第二种,网上说第二种效率高,并且安全。 总结使用方法: &nbsp; <pre lang="php"> $sth = $dbh->prepare('update db set zh_CN= :str where SN=:SN'); $sth->bindParam(':str',$str,PDO::PARAM_STR,12); $sth->bindParam(':SN',$SN); $sth->execute(); $sth->lastInsertId(); $sth->closeCursor(); </pre> 源代码使用bindValue(),lastInsertId()返回id。

Continue

安装时没有安装桌面环境。 <strong>1.查看centos系统版本</strong>:命令lbs_release -a <strong>2.mysql配置。</strong> mysql从安装光盘中选择安装的。版本是5.0.77 修改/etc/my.cnf文件 default-character-set=utf8 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 default-character-set=utf8 增加 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/v

Continue

收藏学习 <strong>PHP</strong> 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成 HTML标记的CGI要高许多。下面介绍了十个PHP高级应用技巧。 <strong>1, 使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。</strong> 这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。 <strong>2, 在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。</strong> 这个内置函数能够确认指定的域名能够解析成 IP 地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于 checkdnsrr(),用

Continue

pdo_mysql 有端口连接(非3306端口)和持久连接 <pre lang="php"> <?php $user = 'root'; $pwd = '123'; $opt = array (PDO::ATTR_PERSISTENT => true); $db = new PDO ('mysql:host=localhost;port=3307;dbname=testdb',$user,$pwd,$opt); </pre> pdo_mysql 有端口连接(非3306端口)和持久连接

Continue

关于“PHP彩蛋”的说法也许很多老PHPer已经都知道或听说了,好像是早在PHP4版本的时候就有彩蛋了,挺好玩儿的,可能近年来逐渐被人们遗忘了,其实彩蛋功能在PHP脚本引擎默认情况下是开启。 http://www.discuz.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 http://www.discuz.net/?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 http://www.discuz.net/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 http://www.discuz.net/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 如上4个链接加红色的部分是PHP源码/ext/standard/info.h中定义的GUID值,如下图所示 点击查看原图 关于PHP彩蛋这个玩法已经被国外的某些Web漏洞扫描器(例如:HP WebInspect)所使用了,用其来探测被扫描的网站使用的是何

Continue

记录群里: <pre lang="php"> <?PHP function get_microtime() { list($usec, $sec) = explode(' ', microtime()); return ((float)$usec + (float)$sec); } for ($i=1;$i<=100000;$i++){ $arr[$i] = '1'; } $start = get_microtime(); for ($i=100000;$i>=1;$i--){ $t = $arr[$i]; } $end = get_microtime(); echo 'for:'. sprintf("%s",($end - $start)); $start = get_microtime(); foreach ($arr as $t){ $f = $arr[$t]; } $end = get_microtime(); echo '<br>foreach:'.sprintf("%s",($end - $star

Continue