LAMP
caiknife
一个玩摇滚的程序员
展开
-
以前收藏的一些代码
现在在CSDN开技术博客,收藏代码,记录学习。1、fgetcsv()函数在Linux上的一个Bug以及解决方案fgetcsv()在 Linux上有个Bug(该PHP版本未知),就是当csv文件中出现首字是multi-byte的文字时,会将第一个字符的高位去掉,结果造成读入的文件全部乱码。解决方案:使用PHP重写fgetcsv()函数。代码如下: /** * ファイルポイ原创 2008-02-01 09:43:00 · 692 阅读 · 0 评论 -
.gitconfig alias设置
[alias] co = checkout ci = commit st = status br = branch hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short type = cat-file -t dump = cat-file -p原创 2012-12-31 17:15:55 · 2987 阅读 · 0 评论 -
关于PHP的排序,还有其他的办法吗?
排序,计算机科学中最常见的问题,面试的时候经常问到,如果要自己实现排序算法,肯定是可以的,只是需要一点时间而已,使用PHP自带的函数来进行排序,那自然是更加方便,各种sort用起来真是八仙过海各显神通;但是除了各种sort之外,还有其他的办法吗?今天看了一点PHP SPL的内容,于是就找到了数据结构中一个非常有用的东西:堆。在SPL提供的堆数据结构中,有SplHeap、SplMaxHeap原创 2013-04-13 19:22:24 · 1197 阅读 · 0 评论 -
Sublime Text 2设置
用户设置{ "bold_folder_labels": true, "color_scheme": "Packages/Color Scheme - Default/Cobalt.tmTheme", "detect_slow_plugins": false, "draw_minimap_border": true, "font_face": "Consolas", "font_原创 2013-03-20 15:39:16 · 1027 阅读 · 0 评论 -
老生常谈cookie跨域
很早之前就做过跨域设置cookie的项目了,但是以前没有做好积累,今晚花了点时间重新复习一下。OK,有两个域名,www.a.com和www.b.com,现在要通过a网站来设置b网站下的cookie。a网站下setcookie.php的代码: Cookie Cross Domain <!-- --> test <!--原创 2013-04-12 22:50:18 · 4332 阅读 · 1 评论 -
使用PHP模拟post提交数据
这也是个老生常谈的话题了,上午花了点时间把这个问题整理了一下。一般来说用PHP来模拟post提交数据有三种方法,file_get_contents、curl和socket。写了个公用函数,专门用来打印post数据:<?phpfunction pr() { $params = func_get_args(); foreach ($params as $key => $v原创 2013-04-13 12:03:25 · 37995 阅读 · 0 评论 -
关于http和https的区别
转载自:http://blog.163.com/hello_world_wusu/blog/static/171573116201092691540946/HTTP超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法转载 2013-04-12 18:13:30 · 636 阅读 · 0 评论 -
[Ubuntu]记录一下Ubuntu下的Vim设置
昨天晚上在家里更新了Ubuntu,也把Vim全部更新了下来,并做了一些符合自己习惯的设置。今天整理了一下,记录下来留作备忘。 我在/etc/vim/文件夹下创建了两个文件:vim.local和gvim.local,这两个文件的内容是一样的,有点冗余了是不?嗯,没办法,因为我不知道vim.local这个文件会不会被Gvim加载,所以就创建了两个内容完全一样的文件。下面是文件中的内容:原创 2009-01-21 13:07:00 · 2191 阅读 · 0 评论 -
SplFixedArray和Array的性能测试
部分参考自:http://www.php.net/manual/zh/class.splfixedarray.phpPHP文档专门说明:The SplFixedArray class provides the main functionalities of array. The main differences between a SplFixedArray and a normal PH原创 2013-04-13 20:16:59 · 1976 阅读 · 0 评论 -
关于PHP的file_get_contents的问题
以前在做Smarter US的时候,在请求API时,直接使用PHP的file_get_contents函数:$xml = file_get_contents($url);结果返回的XML内容为空,跟API那边的人沟通过之后也没有确认到底是什么原因,后来换成用cURL之后,就返回了正常的XML内容,当时也没有去关注这到底是为什么,今天再来回想一下,在Stack Overflow上找到了这个结原创 2013-04-10 19:23:14 · 1645 阅读 · 0 评论 -
封装一下CakePHP的Model,增加链式操作
class AppModel extends Model { public function save($data=null, $validate=true, $fieldList=array()) { if (isset($this->data) && isset($this->data[$this->name])) { unset($this->data[$this->name][原创 2012-12-30 12:48:14 · 1457 阅读 · 0 评论 -
PHP速率优化技巧
1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题; 2.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的; 3.优化SELECT SQL语句,在可能的情况下尽量少的进行原创 2008-03-01 12:20:00 · 683 阅读 · 0 评论 -
MySQL优化的8条经验
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6) 就可以很好的完成任务了。转载 2008-03-01 11:45:00 · 641 阅读 · 0 评论 -
CakePHP中的scriptaculous(1)
CakePHP中有个Ajax的Helper类,用于处理CakePHP的Ajax功能。由于CakePHP是模仿Ruby on Rails的快速开发框架,所以它也和RoR一样,使用了prototype和scriptaculous来作为它的Ajax库。 下面就几个简单的例子来解析CakePHP 的功能,这次解析基于 http://nio.infor96.com/ajax-in-cakephp/以原创 2008-03-09 16:30:00 · 834 阅读 · 0 评论 -
社区里某位同志写的一个FTP内容抓取程序
程序演示 http://labs.phpz.org/ftplist/源代码如下:<?php$info = array ( user => username, pass => password, host => ftp host, port => 21, path => ,原创 2008-06-17 10:02:00 · 1492 阅读 · 0 评论 -
用PHP写的一个文本处理小程序
以前用Python写了一个处理SQL文件的小程序,今天也同样碰到了一个类似的要求,不过处理的对象是PHP文件,于是就用PHP写了一个处理程序。问题的描述如下:被处理的文件的文件名类似于{$channel_id}_{$category_id}.php,所有文件内都包含一个Array变量,文件结构类似于下面:<?php$arrLeftMoreInfo = array (原创 2008-06-16 15:40:00 · 1943 阅读 · 1 评论 -
输出CSV文件在Excel2003/2007/2010下乱码的问题
总之就在输出CSV之前插入下面的代码就好了。fwrite($buffer, "\xEF\xBB\xBF");原创 2012-12-29 22:35:44 · 1755 阅读 · 0 评论 -
约瑟夫问题
约瑟夫问题也就是猴子找大王问题,Wiki上有详细的分析:https://zh.wikipedia.org/wiki/%E7%BA%A6%E7%91%9F%E5%A4%AB%E6%96%AF%E9%97%AE%E9%A2%98。而代码实现起来也很简单:<?php/* * 一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只原创 2013-04-11 09:53:59 · 556 阅读 · 0 评论 -
MongoDB中关于group的用法
最近在阅读《MongoDB权威指南》,http://book.douban.com/subject/6068947/,在看到聚合这一章的group部分时,范例程序在我的机器上运行的结果为空,因此我稍微研究了一下。这本书上的MongoDB版本是1.6.0,我自己的机器是Ubuntu 12.04 x64,MongoDB版本是2.0.4。下面是书上的测试数据:db.stocks.inse原创 2013-04-09 18:03:00 · 19413 阅读 · 0 评论 -
一个用来打印log的脚本
现在在公司里做Tracking的工作,在开发环境下,Tracking的log文件保存在服务器的/mezi/sites/apache/logs下,然后又根据网站的不同有着下面这样的格式:{site_name}_{machine_name}_YYYY_MM_DD_HH_xx.tracking.log从文件格式来看,是每小时生成一个log文件,但是有些站点会每10分钟生成一个log文件,而服务器原创 2013-05-23 14:59:43 · 1550 阅读 · 0 评论