PHP语言、浏览器、操作系统、IP、地理位置、ISP,本PHP类里面有以下几种方法,同时也是用法说明:<?php class class_guest_info{function GetLang() {$Lang = substr($_SERVER[‘HTTP_ACCEPT_LANGUAGE‘], 0, 4);//使用substr()截取字符串,从 0 位开始,截取4个字符if (preg_match(‘/zh-c/i‘,$Lang)) {//preg_match()正则表达式匹配函数$Lang = ‘简体中文‘;}elseif (preg_match(‘/zh/i‘,$Lang)) {$Lang = ‘繁體中文‘;}els...
优化PHP代码技巧的小结1. 如果一个方法能被静态,那就声明他为静态的,速度可提高 1/4;2. echo 的效率高于 print,因为 echo 没有返回值,print 返回一个整型;3. 在循环之前设置循环的最大次数,而非在在循环中;4. 销毁变量去释放内存,特别是大的数组;5. 避免使用像__get, __set, __autoload 等魔术方法;6. requiere_once()比较耗资源;7. 在 includes 和 requires 中使用绝对路径,这样在分析路径花的时间更少;8. 如果你需要得 sex...
浅谈PHP代码设计结构您的评价: 还行 收藏该经验 coding多年,各种代码日夜相伴,如何跟代码友好的相处,不光成为职业生涯的一种回应,也是编写者功力的直接显露。如何看待程序和代码呢?那就让我们从程序定义来谈起,如果从业务最终呈现来看,一个程序可以看成是一个真实业务需求的逻辑代码映射。如果从程序逻辑结构看,程序就是数据结构加算法的结合。这样看,为满足更多的业务需求,更好的满足这些需求,就需要更多的程序...
<?php /** * @author xiaoxiao <x_824@sina.com> 2011-1-12 * @link http://xiaoyaoxia.cnblogs.com/ * @license * 统计目录下的文件行数及总文件数··去除注释 */ $obj = new CaculateFiles(); //如果设置为false,这不会显示每个文件的信息,否则显示 $obj->setShowFlag(false); //会跳过所有All开头的文件 $obj->setFileSkip(array(‘All‘)); $obj->run("D:\PHPAPP\php\_tests"); //所有文件,(默认格式为.php) $obj->setFileSk...
利用淘宝的IP接口来判断IP,是否是国内的ip,是国内(CN)的就不允许访问。 $ip = $_SERVER[‘REMOTE_ADDR‘]; $content = file_get_contents(‘http://ip.taobao.com/service/getIpInfo.php?ip=‘.$ip); $banned = json_decode(trim($content), true); $lan = strtolower($_SERVER[‘HTTP_ACCEPT_LANGUAGE‘]); if((!empty($banned[‘data‘][‘country_id‘]) && $banned[‘data‘][‘country_id‘] == ‘CN‘) || strstr($lan, ...
复制代码 代码如下:<?php @mysql_connect("localhost", "root","1981427") //连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); $query = @mysql_query("select * from tablename1") //执行用于计算页数的SQL语句 or die("SQL语句执行失败"); $pagesize = 5; //设置每页记录数 $sum = mysql_numrows($query); //计算总记录数 if($sum % $pagesize == ...
复制代码 代码如下:/*—————————————————— */ //– 获取无限分类的列表数据 /*—————————————————— */ function get_sort ($parent_id=0,$n=-1) { global $db; static $sort_list = array (); $sql = "SELECT * FROM ".$db->table(‘article_sort‘)." WHERE `parent_id` = ‘{$parent_id}‘"; $res = $db->query ($sql); if ($res) { $n++; while ($row = $db->fetch_assoc ($res)) { $sql = "...
一、GPC整数类型不受GPC影响$_SERVER变量不受GPC保护$_FILES变量不受GPC保护宽字节注入数据库操作容易忘记添加单引号的地方如:in()/limit/order by/group by只过滤了变量的值,但没有过滤key(有的程序会在代码中使用key,如带入SQL语句)php5.3以后$_REQUEST中不再包含$_COOKIE(可能导致过滤不全)GPC为on的时候,在php4和php<5.2.1的情况下GPC不处理数组第一维变量的key在对参数进行过滤后又对其进行了其它的操作,如substr,str_r...
如 $array3=array("性别"=>"男","姓名"=>"不是女人"); $array4=array("性别"=>"不知道","长相"=>"很帅"); 哪么,合并之后,后者将会覆盖前者,这样合并之后就变成了 Array ( [性别] => 不知道 [姓名] => 不是女人 [长相] => 很帅 ) 数字型键名,或自动赋值键名,则不会产生覆盖, 如 $array1=array(1,2,3,4,5,6,7); $array2=array(1,7,8,9,10); 合并之后,为 Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] ...
<!-- 用户登录开始 --> <?php //读取用户信息$ypzy_userid = param::get_cookie(‘_userid‘); if(!empty($ypzy_userid)){ $ypzy_memberinfo=get_memberinfo($ypzy_userid); } ?> {if$ypzy_userid} <!-- 登陆之后 --> <span onclick="window.location=‘{APP_PATH}index.php?m=member&c=index‘">{$ypzy_memberinfo[‘username‘]}</span> <span onclick="window.location=‘{APP_PATH}index.php?m=member&c=index‘">会员中心</sp...
fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止. fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用. 读字符串函数fgets函数的功能是从指定的文件中读一个字符串到字符数组中, 函数调用的形式为: fgets(字符数组名,n,文件指针); 其中的n是一个正整数。 表示从文件中读出的字符串不超过 n-1个字符。 在读入的最后一个字符后加上串结束标志‘\0‘。 例如:fgets(str,n,fp);的...
去掉前后的空格. 假设有一个字符串" ddd dd d ",经过Trim()之后成为"ddd dd d". 如上可以去掉两边多余的空格(包括制表符),但不能去掉中间的空格. PHP中的trim()函数跟ASP中的trim()函数用法一样的,如果你接触过ASP,那么就自然会用的. 用法比较简单,在想要去掉空格的变量中加入如下: <?php echo trim($变量); ?> 一般用到用户的password处理中。 定义和用法 trim() 函数从字符串的两端删除空白字符和其他预定义字符。 语法...
使用curl的多线程,另外curl可以设置请求时间,遇到很慢的url资源,可以果断的放弃,这样没有阻塞,另外有多线程请求,效率应该比较高下面是代码实现/** * curl 多线程 * @author http://www.lai18.com* @param array $array 并行网址 * @param int $timeout 超时时间* @return mix */public function Curl_http($array,$timeout='15'){$res = array();$mh = curl_multi_init();//创建多个curl语柄foreach($array as $k=>$url){$co...
<?php header("Content-type:text/html;charset=utf-8");abstractclass msg{protected $send = null;public function __construct($send){$this->send = $send;}abstract function msg($content);function send($to, $content){$content = $this->msg($content);$this->send->send($to, $content);} }/** * 普通信 */class ZnMsg {public function send($to, $content){echo "给".$to."发送站内信:<br>".$content;} }/** * email...
复制代码 代码如下:$conn = new com("ADODB.Connection"); $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("www.jb51.net/db.mdb"); //与access连接要用到com接口了。 $conn->Open($connstr); $rs = new com("ADODB.RecordSet"); //数据查询并显示出来 $rs->Open("select * from szd_t",$conn,1,1); while(! $rs->eof) { $f = $rs->Fields(1); echo $f->value; $rs->MoveNext(); } //下面来看一下php acc...