PHP
文章平均质量分 50
iteye_20905
这个作者很懒,什么都没留下…
展开
-
array_multisort对多维数组进行排序
一、先看最简单的情况。有两个数组:$arr1 = array(1,9,5);$arr2 = array(6,2,4);array_multisort($arr1,$arr2);print_r($arr1); // 得到的顺序是1,5,9print_r($arr2); // 得到的顺序是6,4,2 两个数组的值自始至终都是对应着的:1对应6,9对应2,5对应4。...原创 2011-10-31 13:39:47 · 166 阅读 · 0 评论 -
图片上传安全处理
对于用户上传的图片,必须要进行判断和处理,防止含有恶意代码的图片上传到服务器,造成安全隐患。l 处理原理:对图片类型进行简单的检测,并以原图进行重新生成(重新生成会打乱其中的恶意代码)l 处理方法(用此方法替换move_uploaded_file):<?php/* * 进行简单图片判断并上传(jpg,gif,png) *@param $file $_FILES...原创 2012-11-14 16:35:20 · 751 阅读 · 0 评论 -
PHP socket 发送数据流与c++通信
在某次项目中需要与c++的接口进行socket通信,数据的发送与接收都是数据流,需要将发送的数据转化为数据流,再通过socket发送到对应的端口。要点:1对应的数据包结构(C++与PHP一致)2 pack函数使用3 pack函数format参数(第一个参数的正确使用),要跟c++发送的数据及C type 一致4 format 中在每个format 对应后面 每一个参数,要在...原创 2013-11-21 12:19:48 · 1320 阅读 · 0 评论 -
yaf框架实现数据库读写分离(集成非zendDB)
后台功能同:http://alfred-long.iteye.com/blog/1711486用了一个外部类库,可以实现数据库读写分离,具体看例子中的配置。原创 2012-12-09 14:39:04 · 540 阅读 · 0 评论 -
php Mongodb扩展使用
mongodb官方推荐扩展查找数据$connectString = 'mongodb://127.0.0.1:27017/aka';$manager = new MongoDB\Driver\Manager($connectString);$filter = [hid=>1];$options = array( "projection" => arra...原创 2016-02-15 15:11:34 · 333 阅读 · 0 评论 -
php mysqli query的坑
1 query 执行insert、update语句:mysqli 的query执行插入语句,update语句的时候, sql语句的大小不能超过 mysql服务起设置的max_allowed_packet 限制,sql语句的大小超过之后会报错。2 query执行查询语句:query执行查询语句,是会将所有的结果拿回来,然后进行后续的fetch_assoc 或者 fetch_all之类的...原创 2016-07-14 17:28:04 · 1756 阅读 · 0 评论 -
LNMP环境搭建
有段时间没有安装过LNMP环境了,昨天按照宴哥的方法(源地址)又安装了一次,然后自己也做了点修改整理了一份存档。1 安装nginx mkdir -p /Data/tgzcd /Data/tgzyum install wgetyum install pcreyum install openssl*yum -y install gcc gcc-c++ autocon...原创 2014-01-22 10:16:46 · 107 阅读 · 0 评论 -
curl函数设置毫秒级超时时间
在个项目的应用接口中,需要对某个url进行调用,但是并不需要等待其返回任何结果。所以,超时时间希望是能更短一点,于是乎。。使用curl可以实现毫秒级的超时设置。 $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RE...原创 2014-03-11 17:30:53 · 1928 阅读 · 0 评论 -
PHP curl的DNS解析问题(PHP下curl很慢)
问题:1 在项目中使用curl函数调用某个接口,发现响应很慢2 修改host地址为接口服务器的ip地址,响应非常快 首先,在其他服务器上做了个DNS服务,希望能加快DNS解析速度(内网解析),尝试时候发现系统curl很快,但是用php curl函数执行还是非常慢. 在php脚本中对接口域名进行解析,通过gethostbyname()函数,发现对应的ip还是原来的ip,并不...原创 2014-03-24 10:11:59 · 3924 阅读 · 0 评论 -
PHP iconv 和 mb_convert_encoding 的区别
PHP在字符转码时常用到 iconv 函数,但是在某次转码中遇到了个问题;例:$str = '今天天气-晴';$str = iconv('UTF-8','GBK',$str,);转码以后 $str 确只有 '今天天气晴',查找手册发现,iconv第二个参数可以添加两个后缀, //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符, //IGNORE...原创 2013-01-23 09:35:31 · 133 阅读 · 0 评论 -
yaf札记
用yaf框架重构了开发的某个系统,今天同事接手,一起聊了聊,发现有些常用的东西记下来用起来可能会更方便。一、 获取提交的参数:1 获取" / "中的参数 例:获取url中/id/12 使用: $this->getRequest()->getParam("id", 0); 只能用来获取“/”后面的参数;2 获取GET $this->getRequest()-&...原创 2013-01-25 18:27:15 · 124 阅读 · 0 评论 -
Yaf问题记录(apache下rewrite问题)
一直在使用LNMP环境,自己搞点东西也拿笔记本当做服务来搞,笔记本近期出了问题,没办法,只能在台式机用WAMP环境进行开发,将程序及等迁移后发现,设置rewrite规则不起作用,报错为: The requested URL /admin_index was not found on this server. 由于对apache服务器配置不熟悉,只能查找资料,发现,在apach...原创 2013-02-04 14:17:21 · 604 阅读 · 0 评论 -
Yaf demo(基于上一次优化)
最新的精简及新的界面,适合快速上手及熟悉 https://github.com/melonwool/YafUse优化内容1 对layout布局做了优化,统一在Bootstrap.php中注册,可以实现控制器下不同方法加载不同布局文件2 对报错添加了记录日志,无论是否开启报错显示都会记录日志(public/log/)。 ini中 application.showErrors=1 若无...原创 2013-02-04 16:03:38 · 288 阅读 · 0 评论 -
使用xhprof会在nginx下报502 Bad Gateway错误
我的运行环境Yii + nginx +php5.4.25+centos xhprof_enable()xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);修改为:xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY)...原创 2014-06-16 15:20:27 · 127 阅读 · 0 评论 -
MongoDB快速上手PHP篇(转)
包含了 增删改查操作 <?php/** * PHP操作MongoDB学习笔记 * 2011年2月23日 * 原作者:xiaocai *///*************************//** 连接MongoDB数据库服务器//*************************//格式=>("mongodb://用户名...原创 2012-11-05 18:09:20 · 113 阅读 · 0 评论 -
PHP AES(随机iv) 和Pytho AES (不使用iv)
遇到一个问题,php AES算法中,由于可以使用mcrypt_create_iv 生成一种随机的iv,使用的是MCRYPT_MODE_ECB模式。我这里需要用python来实现这种算法。PHP版本:class Security { public static function encrypt($input, $key) { $size = mcrypt_get_block_si...原创 2015-10-28 16:49:23 · 933 阅读 · 0 评论 -
PHP AES 算法 使用iv
直接上代码<?phpclass AES{ protected $cipher = MCRYPT_RIJNDAEL_128; //根据需要选择 protected $mode = MCRYPT_MODE_CBC; //根据需要选择 protected $pad_method = NULL; protected $secret_key = ...原创 2015-10-23 14:33:48 · 1292 阅读 · 0 评论 -
PHP利用curl上传文件到FTP服务器(无ftp扩展情况下)
在一次需求中,需要一个FTP服务器作为中转站,程序定时在FTP服务器获取数据,定时上传数据库的数据到FTP服务器上,由于PHP没有安装ftp扩展,导致FTP操作很是麻烦,对于socket的理解不够深入,由于时间比较紧急,在同事指点下,想到了用curl方法,经过自己的整理,将curl方法整理为一个类: <?php/* * To change this template, c...原创 2012-04-20 08:26:09 · 281 阅读 · 0 评论 -
PHP获取当前月份的前一个月、后一个月
在某次开发中,需要对月份进行处理,获取到前一个月或者后一个月,开始使用 date("Ym", strtotime("-1 month")) 后来发现,这种方法会有问题,在月份有31天的时候,比如7月31日,会出现 date("Ym", strtotime("-1 month")) 这个是时间也是201207与date("Ym")结果一样。这样就会导致在这天产生很多问题。 后来...原创 2012-07-31 11:17:38 · 1563 阅读 · 0 评论 -
验证码无法显示问题
在本地调试验证码时,发现,输出的图片在IE、chrome下一直是“X”,在firefox中提示,图片输出有误,在搜索各种资料后发现,在用header()输出图像之前有必要,使用ob_clean();这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区。...原创 2012-08-12 14:57:52 · 701 阅读 · 0 评论 -
PHPExcel一些常用方法
<?php require_once 'PHPExcel.class.php'; $str = "title"; $filename = mb_convert_encoding("表格主题/题目","gb2312","utf-8"); //实例化类 $objExcel = new PHPExcel(); $objWriter = new...原创 2012-08-12 15:11:41 · 163 阅读 · 0 评论 -
转:file_get_contents()问题
转自使用php5自带的file_get_contents方法来获取远程文件的时候,有时候会出现file_get_contents(): failed to open stream: HTTP request failed!这个警告信息。 google或者baidu一下,好多这样的问题,解决的方法都是修改php.ini,把allow_url_fopen给启用,改成 allow_ur...原创 2012-08-22 13:10:30 · 518 阅读 · 0 评论 -
php-fpm 启动脚本
事因: 历史原因,以前一直使用php5.2 php-fpm是通过补丁包安装的,在php5.3以后,已经集成php-fpm,以前的php-fpm((start|restart|stop|reload )都无法使用了。 解决:1 编译时添加的php-fpm参数--enable-fpm --with-fpm-user=www --with-fpm-group=www ...原创 2013-06-24 10:08:36 · 196 阅读 · 0 评论 -
PHP DES 算法
通信中用到PHP的DES加密算法:1 //DES加密function des_encode($string, $key) { $size = mcrypt_get_block_size('des','ecb'); $pad = $size - (strlen($string) % $size); $string .= str_repeat(chr($pad), ...原创 2013-06-27 15:37:37 · 184 阅读 · 0 评论 -
Windows下redis 安装与PHP使用
一、 安装redis及启用服务(下载地址及安装方式见github https://github.com/mythz/redis-windows )1 下载redis客户端 http://code.google.com/p/servicestack/wiki/RedisWindowsDownload#Download_32bit_Cygwin_builds_for_Windows...原创 2012-09-24 18:10:43 · 90 阅读 · 0 评论 -
linux下安装redis及PHP扩展应用
一、redis安装 1 下载redis安装包wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz (若无法下载请手动下载) 2 编译安装 $ tar zxvf redis-2.4.17.tar.gz$ cd redis-2.4.17$ make$ make PREFIX=/usr/local/...原创 2012-09-25 15:47:35 · 174 阅读 · 0 评论 -
PHP判断图片是否为标准图片(防止篡改图片上传)
在项目安检时发现,某系项目中图片上传只是对后缀名进行了检查,导致含有某些代码的‘图片’也能上传到服务器,有重大隐患。写了一个方法,检验图片的正确性。(此方法无法完全验证,将图片源码中加了代码无法判断,不过将图片处理比如加水印以后,含有代码的图片在当作php执行时会失效) 如果需要对图片进行安全处理,经看这里---http://alfred-long.iteye.com/blo...原创 2012-10-11 15:43:48 · 766 阅读 · 0 评论 -
PHP socket 发送并接收数据
PHP socket通信用的比较少,由于需要与python通信,所以需要使用PHP socket 进行通信。看手册简单写了个php socket 发送接收数据的方法。主要用到 socket_write()和socket_read()function SendSocketMsg($host,$port,$msg){ $socket = socket_create(AF_INET,S...原创 2013-10-11 15:21:56 · 2392 阅读 · 0 评论 -
yaf框架 nginx 配置
记在这里,以后配置起来更方便.. server { listen 80; server_name www.yaf.com; index index.php index.html index.htm; root /data0/htdocs/www.yaf.com; location ~ .*\.(php|php5)?$ { ...原创 2012-10-26 09:45:10 · 481 阅读 · 0 评论 -
yaf框架 zend_DB 简单后台实例
最新的精简及新的界面,适合快速上手及熟悉 https://github.com/melonwool/YafUse仅仅实现了用户登录、添加、查询、修改等功能。显示目录列表功能。 ...原创 2012-11-01 15:25:16 · 367 阅读 · 0 评论 -
PHP 获取函数被调用的文件及行号等信息
要写个log函数,记录一些文件日志。想记录被调用的文件及位置。发现魔术函数__FILE__和__LINE__写在函数中,只是函数所在的文件和位置。并不是被引用的文件和位置。传递参数又感觉太麻烦。 找了个一个函数:debug_backtrace() demo: public function write($message, $level, $fileName...原创 2014-11-18 19:08:09 · 2443 阅读 · 0 评论