随笔分类 - PHP
摘要:function getLocalIP() { $preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";//获取操作系统为win2000/xp、win7的本机IP真实地址 exec("ipconfig", $out, $stats); if (!empty($out)) { foreach ($out AS $row) { if (strstr($...
阅读全文
摘要:使用mysql rand()函数$sql = "select * from table order by rand() limit 12";
阅读全文
摘要:get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头$url = 'http://www.girdear.cn';print_r(get_headers($url));print_r(get_headers($url, 1));以上例程的输出类似于:Array( [0] => HTTP/1.1 200 OK [1] => Date: Sat, 29 May 2004 12:28:13 GMT [2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) [3] => Last-Modif
阅读全文
摘要:使用PHP操作FTP-用法<?php // 联接FTP服务器 $conn = ftp_connect(ftp.server.com); // 使用username和password登录 ftp_login($conn, “john”, “doe”); // 获取远端系统类型 ftp_systype($conn); // 列示文件 $filelist = ftp_nlist($conn, “.”); // 下载文件 ftp_get($conn, “data.zip”, “data.zip”, FTP_BINARY); // 关闭联接 ftp_qui...
阅读全文
摘要:面向对象编程(Object Oriented Programming) 是一种计算机编程架构,OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成,类:具有相同属性和功能的对象的抽象就是类 对象的抽象是类, 类的具体化就是对象对象:是系统中用来描述客观事物的一个实体, 是构成系统的一个基本单位。面向对象编程三大特性:封装、继承、动态封装:把对象的属性和方法结合成一个独立的相同单位, 并尽可能隐蔽对象内部细节。继承:子类自动共享父类的数据结构和方法的机制,是类之间的一种关系 多态:把子类对象 赋值给父类的引用 再调用父类的方法 但是执行子类被覆盖父类的方法访问类型: .
阅读全文
摘要:内存从逻辑上说大体上是分为4段:栈空间段、堆空间段、代码段、初始化静态段栈空间段是存储占用相同空间长度并占用空间小的数据类型的地方,效率很高,但分配的内存容量有限。栈存放函数的参数值,局部变量的值等堆空间段是存储数据长度不定长, 而且占有空间很大的数据类型, 堆中的所有东西都是匿名的,这样不能按名字访问,而只能通过指针访问代码段存放函数体的二进制代码; 初始化静态段内存在程序启动的时候才被分配,而且可能直到程序开始执行的时候才被初始化,如函数中的静态变量就是在程序第一次执行到定义该变量的代码时才被初始化。所分配的内存在程序的整个运行期间都存在,如全局变量,static变量等。注意:初始化的全局
阅读全文
摘要:为什么要做这个功能自己从网上下载了很多网页模板, 全部是压缩包, 里面的文个结构也不一致, 没办法方便的浏览到从网上下载的模板要实现的功能:从电脑中直接打开文件夹可以看到缩略图, 这样大概知道模板是怎么样的, 新的目录跟下载的压缩包名一致, 目录里同只存放PSD文件 实现方法, 下载ACDSeePro 5 绿色版的, 可以直接看PSD缩略图, 全中所有压缩包, 单击右键--》解压每个压缩文件到单独的文件夹接来复制文件由PHP来操作主要使用函数iconv — 函数库能够完成各种字符集间的转换opendir — 打开目录句柄readdir — 从目录句柄中读取条目closedir — 关闭目录句柄
阅读全文
摘要:主要实现功能遍历文件列表文件添加文件删除文件内容编辑文件重命名主要使用函数unlink — 删除文件fopen — 打开文件或者 URLfclose — 关闭一个已打开的文件指针file_get_contents — 将整个文件读入一个字符串file_put_contents — 将一个字符串写入文件rename — 重命名一个文件或目录is_dir — 判断给定文件名是否是一个目录opendir — 打开目录句柄readdir — 从目录句柄中读取条目closedir — 关闭目录句柄filetype — 取得文件类型filectime — 取得文件的 inode 修改时间filesize
阅读全文
摘要:主要用到函数opendir — 打开目录句柄readdir — 从目录句柄中读取条目closedir — 关闭目录句柄filectime — 取得文件的 inode 修改时间in_array — 检查数组中是否存在某个值pathinfo — 返回文件路径的信息file_exists — 检查文件或目录是否存在is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的move_uploaded_file — 将上传的文件移动到新位置getimagesize — 取得图像信息,大小readfile — 输出一个文件//2.重设响应类型header('Content
阅读全文
摘要:$file_name = 'dir/upload.image.jpg';var_dump(get_ext7($file_name));function get_ext1($file_name) { return strrchr($file_name, '.');}function get_ext2($file_name) { return substr($file_name, strrpos($file_name, '.'));}function get_ext3($file_name) { return array_pop(explode(
阅读全文
摘要:设计模式(Design pattern)是一套被反复使用、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式的原则"开-闭"原则模块应对扩展开放,而对修改关闭。模块应尽量在不修改原(是"原",指原来的代码)代码的情况下进行扩展。里氏代换原则如果调用的是父类的话,那么换成子类也完全可以运行。合成复用原则就是说要少用继承,多用合成关系来实现。依赖倒转原则抽象不应该依赖于细节,细节应当依赖于抽象。 要针对接口编程,而不是针对实现编程。接口隔离原则定制服务的例子,每一个接口应该是一种角色,不多不少,不干不该干的事,
阅读全文
摘要:在 Apache 下,也可以配置 PHP 来实现各站点间的相互独立运行,虽然不能详细控制以某个用户运行某个站点,但至少不会再出现整个服务器被拿下的局面。通过配置 PHP 的 open_basedir 即可以实现该控制,这个配置在 IIS 下也有用,但这里只讲 Apache 下的配置。open_basedir 可将用户访问文件的活动范围限制在指定的区域,通常是其家目录的路径,也可用符号 "." 来代表当前目录。open_basedir 也可以同时设置多个目录,在 Windows 中用分号分隔目录,在任何其它系统中用冒号分隔目录。当其作用于 Apache 模块时,父目录中的 o
阅读全文
摘要:删除重复记录Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )delete from sns_message where not exists ( select * from sns_user where sns_user.uid=
阅读全文
摘要:使用Thinkphp 内置的分页功能, 当然其他分页方法也同理/** According to the array paging * @param array $array * @param int $limit * @return array */function arrayPage($array, $limit) { $count = count($array); if ($count) { import('ORG.Util.Page'); //引入分页类 $p = new page($count, $limit); $d...
阅读全文
摘要:call_user_func函数类似于一种特别的调用函数的方法,使用方法如下:function test($a, $b) { echo $a*$b;}call_user_func('test', 4, 5);输出结果为:20调用类内部的方法比较奇怪,居然用的是array,不知道开发者是如何考虑的,当然省去了new,也是满有新意的:class test { function demo($param) { echo $param; }}call_user_func(array("test", "demo"), "this is ou
阅读全文
摘要:array_filter函数的功能是利用回调函数来对数组进行过滤,一直都以为用回调函数才能处理,却没有发现手册下面还有一句,如果没有回调函数,那么默认就是删除数组中值为false的项目。<?phpfunction filter($val){ if ($val == '') { return false; } else { return true; }}$arr = array('red','blue','green', '', 'cyan', '', 'gray'
阅读全文
摘要:2012-3-24 经测试可正常使用<?phperror_reporting(0);define("COOKIEJAR", tempnam(ini_get("upload_tmp_dir"), "cookie")); //定义COOKIES存放的路径,要有操作的权限define("TIMEOUT", 10000); //超时设定/** * author : 郭钱 */$contacts = new sohu();$lists = $contacts->getcontacts('email@soh
阅读全文
摘要:2012-3-24 经测试可正常使用<?phperror_reporting(E_ALL);$username = "gmail@gmail.com";$password = "password";$gmail = new mail_gmail();$result = $gmail->getAddressList($username, $password);$data = json_decode($result, true);$list = array();foreach ($data['feed']['entry
阅读全文
摘要:2012-3-24 经测试可正常使用<?php/** * author : 郭钱 * */error_reporting(0);define("COOKIEJAR", tempnam("./assets/tmp", "c1_"));define('TIMEOUT', 60);$e126=new mail_126();$lists = $e126->getAddressList('email@126.com', 'password');var_dump($lists);clas
阅读全文
摘要:2012-3-24经测试过正常使用<?php/** * */define("COOKIEJAR1", tempnam("./assets/tmp", "c1_"));define("COOKIEJAR2", tempnam("./assets/tmp", "c2_"));define("COOKIEJAR3", tempnam("./assets/tmp", "c3_"));define('TIMEOU
阅读全文

浙公网安备 33010602011771号