php基础
流浪人_is_me
这个作者很懒,什么都没留下…
展开
-
php7 vs HHVM
HHVM:HHVM (HipHop Virtual Machine)会将PHP代码转换成高级别的字节码(通常称为中间语言)。当HHVM首次加载项目时,它会将所有的PHP代码转换成字节码,然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码。JIT(即时)编译器:即时编译是种软件优化技术,指在运行时才会去编译字节码。字节码会存放在内存中,然后JIT编译器会根据需要加载并编译所原创 2015-11-24 18:47:18 · 695 阅读 · 0 评论 -
php 在类中使用 array_filter
function call_back_walk($val){if(empty($val)){return false;}return true;}function test(){$a= array('111','2222','','3333');print_r(array_filter($a,array($this,"call_back_walk")));}原创 2013-11-06 09:04:00 · 1061 阅读 · 0 评论 -
windows下安装sphinx
结合网上资料,总结一些1.直接在http://www.sphinxsearch.com/downloads.html 找到最新的windows版本,我这里下载的是根绝网上资料的Win32 release binaries with MySQL support ,下载后解压在D:sphinx目录下;2.在D:\sphinx下新建一个data目录用来存放索引文件,一个l原创 2013-10-30 12:39:12 · 603 阅读 · 0 评论 -
php调用mysql存储过程
$con = mysql_connect('localhost','root','123456') or die ('数据库链接错误 '.mysql_error());$db = mysql_select_db('test');mysql_query('set names utf8');/*$sql = "create procedure myproce() begin原创 2013-10-23 12:59:11 · 688 阅读 · 0 评论 -
在windows下安装PHP+MYSQL+APACHE
准备1.PHP的安装文件到 http://www.php.net/下载,获得for win32的.zip包(5.8M) 2.Mysql的安装文件到 http://www.mysql.com下载,获得for win32的.zip包 3.Apache到 http://www.apache.org下载最新的for win31的.MSI安装包4.可以下载Zend Optimizer来对PH原创 2013-05-30 08:11:04 · 761 阅读 · 0 评论 -
php format值
php format值总是忘记,记录下 以后遇到看看%% - 返回百分比符号 %b - 二进制数 %c - 依照 ascii 值的字符 %d - 带符号十进制数 %e - 可续计数法(比如 1.5e+3) %u - 无符号十进制数 %f - 浮点数(local settings aware) %f - 浮点数(not local settings aware原创 2013-09-29 16:17:45 · 598 阅读 · 0 评论 -
php 获取年月周第一天
本年第一天最后一天 本月第一天 最后一天 本周第一天最后一天 精确到秒 的时间戳本年$stime = mktime(0,0,0,1,0,date(Y));$etime = mktime(0,0,0,1,1,date(Y)+1);本月$stime = mktime(0,0,0,date(m),1,date(Y));$etime = mktime(0,原创 2013-09-29 16:39:09 · 946 阅读 · 0 评论 -
php三元运算
$a = 2;$a == 1 ? $test="企业" : ($a==2 ? $test="地区" : $test="其他地方");echo $test;先判断$a是否为1 如果是 直接输出 企业,如果不是 继续判断 相当于else里面又嵌套一个if 如果等于2输出地区 如果不是输出 其他地方等价于$a = 2;if($a == 1) {echo $test原创 2013-09-11 16:23:11 · 1133 阅读 · 0 评论 -
php 生成rss文件
第一种传统的是直接用php输出语句,按照rss结构规范,新建一个rss文件connect_sql();$arr = getall();$files_url = "mytest/test.xml";/*$xml_head = "\n";*/$xml_head = "\n";$xml_head .= "\n";$xml_head .= "\n";$xml_h原创 2013-11-22 09:05:41 · 997 阅读 · 0 评论 -
php socket采集实例
首先用到两个函数gethostbyname 获取主机的ip地址getprotobyname 返回取得协议编号php socket函数socket_accept() 接受一个Socket连接socket_bind() 把socket绑定在一个IP地址和端口上socket_clear_error() 清除socket的错误或者最后的错误代码socket_close() 关闭一个socket资源sock原创 2013-11-27 12:21:00 · 1597 阅读 · 2 评论 -
php webservice简单应用
首先在php.ini中开启以下扩展extension=php_soap.dll;extension=php_openssl.dll;百度下载SoapDiscovery.class.php文件,主要用于生成WSAL文件的定义webservice接口访问的方法类Service.php (这里简单定义两个方法,主要用于测试)//注意方法返回结果是 return,做的时候发原创 2015-03-23 15:00:14 · 442 阅读 · 0 评论 -
php调用coreseek实例
首先运行php-fpm(设置开机启动的略过)/usr/local/php/sbin/php-fpm -c /usr/local/php/php.ini启动coreseek服务首先检测是否开启 netstat -tunlp | grep searchd#启动coreseek/usr/local/coreseek/bin/searchd -c /usr/local/coreseek原创 2015-02-26 22:17:03 · 1171 阅读 · 0 评论 -
简单的mysql读写分离
网上搜mysql读写分离,全部都是一样的代码,这里主要是记录下,而且网上的读写分离中正则匹配select语句有点错误,这里改正了一下首先读写分离主类代码如下:class mysql_rw_php {//查询个数var $querynum = 0;//当前操作的数据库连接var $link = null;//字符集var $charset;//当前数据原创 2015-02-09 18:05:24 · 449 阅读 · 0 评论 -
samrty分页类 通用分页类
一个非常好的smarty分页插件有六个文件将 SmartyPaginate.class.php放到smarty根目录下 /smarty/SmartyPaginate.class.php内容如下/** * Project: SmartyPaginate: Pagination for the Smarty Template Engine * File:原创 2013-05-30 08:21:17 · 672 阅读 · 0 评论 -
smarty基础
smarty内置函数转换为首字母大写:{$name|capitalize}计算字符数:{$name|count_characters}连接字符串:{$name|cat:'@@'}计算段落:{$name|count_paragraphs}计算句数:{$name|count_sentences}计算单词数:{$name|count_words}时间:{$time|date_原创 2013-05-31 08:22:23 · 579 阅读 · 0 评论 -
smarty循环
smarty一般的循环写法 $sql_content = "SELECT guid, times, id, ip, app_name FROM stats WHERE date = '{$date}' AND type = '1' GROUP BY crc LIMIT $offset,$Page_size";$result_cotent = mysql_query($sql_conte原创 2013-05-31 08:18:35 · 651 阅读 · 0 评论 -
smarty自定义时间显示格式
如果是一天之内的话显示格式: xx小时xx分钟前如果是30天之内显示格式: xx天前如果是30天之前的则显示具体的时间其实就是一种算法而已首先在lib\smarty\plugins 新建一个modifier.getdate.php插件/**获取当前的时间格式如果是一天之内的话显示格式: xx小时xx分钟前如果是30天之内显示格式: xx天原创 2013-05-30 08:06:23 · 731 阅读 · 0 评论 -
字符转码(转)
PHP传给JS字符串用ecsape转换加到url里,又用PHP接收,再用网上找的unscape函数转换一下,这样得到的字符串是UTF-8的,但我需要的是GB2312,于是用iconv转换开始是这样用的$str = iconv('UTF-8', 'GB2312', unescape(isset($_GET['str'])? $_GET['str']:''));上线后报一堆这样的错:ico转载 2013-12-16 12:52:29 · 735 阅读 · 0 评论 -
php curl
curl是模拟浏览器抓取网站信息 官方解释 curl是一个利用URL语法在命令行方式下工作的文件传输工具。curl是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法原创 2013-10-24 13:26:30 · 1037 阅读 · 0 评论 -
解决php下多人同时操作数据表
当同一时刻,多人对同一个表进行insert或者update的时候,往往会出现同一条数据出现好多次或者一些奇怪的问题,可以通过mysql的锁表机制来进行排队解决这个问题php中插入数据之前锁表// lock talbe write $sql = "LOCK TABLES alliance_perf WRITE"; mysql_que原创 2013-09-11 14:31:50 · 2103 阅读 · 0 评论 -
php AES加密解密
可直接粘帖代码用class aes { // CRYPTO_CIPHER_BLOCK_SIZE 32 private $_secret_key = 'default_secret_key'; public function setKey($key) { $this->_secret_key原创 2013-06-19 15:42:53 · 858 阅读 · 0 评论 -
php时间
取得数据库中的记录时间的前一天 就是”昨天“的意思(前提是时间为时间戳)date("Y-m-d",strtotime('yesterday',$row['times']))或者 date("Ymd",strtotime("-1 day")) date('Ymd', time() - 24 * 3600)$a = time();$test = strtotime(原创 2013-05-31 08:23:57 · 661 阅读 · 0 评论 -
php对数组重新排序
//以下参考自PHP手册array_multisort函数 Example #4 对数据库结果进行排序// 取得列的列表//$data是你上面的数组,你的date_submitted列数据一样,自己改改不一样才能看出效果oreach ($data as $key => $row) {$volume[$key] = $row['date_submitted']; //原创 2013-05-30 08:04:37 · 2035 阅读 · 0 评论 -
cmd压缩文件
c:\>c:\Program Files\WinRAR\WinRAR.exe a -m5 -t d:\php.rar d:\php将d:\php压缩到d:\php.rarrar a -r -va x:\abc.rar y:\abc 将y:\abc目录压缩成x:\abc.rar附:dos命令行下解压文件C:\Program Files\WinRAR>rar原创 2013-05-30 08:02:26 · 971 阅读 · 0 评论 -
ueditor百度编辑器图片放置不同的站点
前提是这两个网站要在一台主机上,由于公司要求是将网站的图片,css,js放在同一台服务器上的不同站点,也就是主网站仅仅放程序代码,而样式图片,包括上传的全部放在另外的站点,减少服务器压力,对于css js没啥好说的,图片上传也是自己写的。可以在上传移动的时候改变路径,读取的时候用http去获取。例如我的住网站是www.testmain.com 样式站点是 www.testcss.com我上传的时候原创 2013-05-30 07:54:47 · 787 阅读 · 0 评论 -
php正则之匹配图片中的路径
//i原创 2013-05-30 07:58:24 · 872 阅读 · 0 评论 -
mysql正则替换
UPDATE 表名 SET 字段名= REPLACE( 替换前的字段值, '替换前关键字', '替换后关键字' ) WHERE 字段名 REGEXP "替换前的字段值";例句UPDATE gxb_content SET content_intro = REPLACE(content_intro, '/ueditor/php/upload/', 'http://img.ren原创 2013-05-30 07:50:54 · 1182 阅读 · 0 评论 -
php文件上传判断类型创建多级文件夹
//判断上传图片的类型 function check_upload_image_type($upload_name) { $upload_name = explode('.', $upload_name); $upload_name = end($upload_name); $pattern = '/jpg|gif|png/'; $ty原创 2013-05-30 08:21:59 · 672 阅读 · 0 评论 -
php gd库生成缩略图的方法
第一种根据情况切割高图切下面 宽图切右面,先按照图片的实际长宽等比例压缩我这里是直接调用输出 也可以另保存show.phpchul.php$im = "test.jpg";$extension = explode('.', $im);$extensions = end($extension);switch($extensions) { case原创 2013-05-30 08:14:47 · 680 阅读 · 0 评论 -
php stripos substr sprintf
stripos(string,find,start) string被搜索的字符串 find要查找的字符 start可选 开始搜索的位置substr(string, start, length) 获取字符串的一部分 string原字符串 start 开始位置 length 可选 截取的长度sprintf (formart, arg1...) 把格式化的字符串写入一个变量中 f原创 2013-05-30 07:42:33 · 689 阅读 · 0 评论 -
自己写的分页类
分页类代码 model_page.php/*中间值分页类function model_page 下为初始化变量$page_size 每页显示的记录条数$page_count 总共多少页$url 分页的跳转路径$page 当前的页面数$page_limit 一次显示多少个分页 如 上一页 123..下一页 这样是一次显示3页$page_len 第几个分原创 2013-05-30 08:18:21 · 642 阅读 · 0 评论 -
php URL 路径重写 rewrite
假如这里有一个 test.php文件 里面有如下代码:$id=$_GET["id"];echo $id;?>首先 apache文件里打开Apache配置文件httpd.conf,找到如下:#LoadModule rewrite_module modules/mod_rewrite.so开启rewrite,去点前面"#"二.开始重载Allowoverrid原创 2013-05-31 08:06:44 · 1252 阅读 · 0 评论 -
Windows下mysql cmd
运行->命令cmdmysql -h localhost -u username(root) -p 回车 这里输入密码 如 123show databases; 查看所有数据库use abc; 使用其中一个数据库(abc)show tables; 查看abc这个数据库下的所有的table查看表的数据和平常书写查询语句一样 select * fr原创 2013-05-31 08:17:27 · 698 阅读 · 0 评论 -
php smtp邮件发送代码
error_reporting(E_ALL ^ E_NOTICE);##########服务器参数设置################$smtpserver = "smtp.163.com";//SMTP服务器$smtpserverport = 25;//SMTP服务器端口$smtpusermail = "改成你的163邮箱帐号例如:zhangkai0guang原创 2013-05-30 08:23:26 · 1471 阅读 · 0 评论 -
从数据库中调用数据生成rar文件(自己的一个小实例)
公司买了个火车头商用版软件,要把采集到的数据文件生成rar包。要求是rar压缩包名称为 id.rar 里面有一个要有一个id命名的文件,如44.rar 文件里面有三个子文件 分别是 config.ini id.jpg/png/gif (根据数据库中的图片路径正则获取里面的图片文件) id.nfo(一些指南,使用教程啥的)。于是折腾啊。代码贴出来供自己以后参考,还有完善原创 2013-05-30 08:01:11 · 585 阅读 · 0 评论 -
php str_pad字符串填补函数
顾名思义这个函数是针对字符串来说的这个可以对指定的字符串填补任何其它的字符串例如:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)其中填补后的长度必须是个正整数,填补位置有三个选项,左边:STR_PAD_LEFT,右边:STR_PAD_RIGHT,两端:STR_PAD_BOTH例如:string str_pad( string原创 2013-05-30 07:56:59 · 1011 阅读 · 0 评论 -
多域名共用session
网上很多session多域名共用的方法,最经典是memcache。所以下载了memcache安装,导入php.ini文件加入命令extension=memcache.dll修改配置文件,在 php.ini 中全局设置:session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211"可以实原创 2013-05-30 07:55:47 · 1737 阅读 · 1 评论 -
查看打印php错误sql
$result_today = mysql_query($sql_today, $this->mysql->conn) or die("Invalid query: " . mysql_error() . $sql);查看sql语法 并且打印出错误的sql语句原创 2013-05-30 07:51:35 · 2603 阅读 · 0 评论 -
php递归
function createSortOptions ($selected=0,$parent_id=0,$n=-1) { $sql = "SELECT app_category_id, app_category_pid, app_category_name, app_category_level FROM `app_category` WHERE `app_category_原创 2013-05-31 08:16:35 · 663 阅读 · 0 评论 -
php正则表达式
将地址等号左右两边的值颠倒一下位置$test = "wd=%CE%D2%C3%C7&rsv_bp=0&rsv_spt=3&rsv_sug3=1&rsv_sug=0&rsv_sug1=1&rsv_sug4=141&inputT=2672";$patterns = array ("/([0-9a-zA-Z.%_-]+)=([0-9a-zA-Z.%_-]+)/");$replace =原创 2013-05-31 08:14:04 · 542 阅读 · 0 评论