随笔分类 - php
摘要:$arr=array( 5=>'奖项一', 10=>'奖项二', 60=>'奖项三', 25=>'奖项四'); $pool=array(); foreach($arr as $k=>$v){echo count($pool).''; $pool+=array_fill(count($pool),$k...
阅读全文
摘要:在本地环境下运行解析OK换到线上的环境解析失败开始怀疑各种编码问题,解决均无效。查看phpinfo发现magic_quotes_gpc =on终于找到问题所在,更改php.ini文件magic_quotes_gpc = off后面遇到中文无法解析这个是中文编码问题需要做一下编码转换$orders = preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2','UTF-8', pack('H4', '\\1'))", $orders);$arrord
阅读全文
摘要:php 打印功能需要printer.dll文件扩展下载地址 http://downloads.php.net/pierre/这里有很多PHP的扩展注意要找对版本,然后修改PHP.INI 开启扩展就可以使用了个人封装了一个小类类文件pname = $pname; if (!$this->pconnect()) { echo $this->message; exit(); } } //连接 private function pconnect() { if(!empty($this->pname)) { if (!$this->phandle=@printer_open($t
阅读全文
摘要:由前一篇文章 http://www.cnblogs.com/darktime/p/3407980.html我就配置了一个环境包,免安装的,只需要运行一个.bat的文件文件就算安装成功了如果你需要用zend加密 配置zend guard loder那么正好可以使用,不用再管什么非线程安全不用再管什么fastCGI模式下载地址wamp01打开使用说明先将电脑中的环境卸载干净本程序apache 占用80端口 服务名apache2.2mysql 3306端口 服务名 mysql如果端口或者服务名被占用就会导致失败!一下是使用方法1.将此文件放入根目录如 D:/wamp2.如果装在D盘打开etc文件 D
阅读全文
摘要:最近公司要做代码加密,就采用ZEND GUARD 方式加密代码 并进行显示此文为总结,以备自己以后查看和给需要的同学们参考采用的php为5.3版本 由于现在加密的更改,能支持zend guard 的php版本必须符合两点 1.v9编译 2.no Thread Safe 非线程安全此两点为真理,本人亲测多次apache 要下载 no_ssl 版本以下是我用的配置文件下载(放在百度云盘的应该能支持很久)1.zend_guard5.5.zip zend加密工具2.ZendGuardLoader-php-5.3-Windows(2) 解析加密php文件所需要的PHP扩展3.mod_fcgid-2.3.
阅读全文
摘要:wamp 是什么?windows,nginx,mysql,php(当然也可以是PYTHON等)只所以使用nginx,是因为我等下要配置ZendGuardLoaderZendGuardLoader只支持非安全线程的PHP非安全线程的PHP 和APACHE不兼容 所以就选择NGINX顺便写一篇博客作为总结下载地址请产考我上一篇博客,地址:http://www.cnblogs.com/darktime/p/3400930.htmlnginx的下载地址为nginx.org安装细节就不说了,直接说配置对mysql的要求:要能启动开即可。好了下面开始配置,打开PHP的跟目录找到php.ini-develo
阅读全文
摘要:1.开启rwrite模块LoadModulerewrite_modulemodules/mod_rewrite.允许任何目录使用.htaccessAllowOverride None改成 AllowOverride All
阅读全文
摘要:一、安装 MySQL首先来进行 MySQL 的安装。打开超级终端,输入:[root@localhost ~]# yum install mysql mysql-server安装完毕,让 MySQL 能够随系统自动启动:[root@localhost ~]# chkconfig --levels 235 mysqld on[root@localhost ~]# /etc/init.d/mysqld start设置 MySQL 数据 root 账户的密码:[root@localhost ~]# mysql_secure_installation当出现如下提示时候直接按回车:Enter curren
阅读全文
摘要:php进制转换函数如下:bindec() — 二进制转换为十进制decbin() — 十进制转换为二进制dechex() — 十进制转换为十六进制decoct() — 十进制转换为八进制hexdec() — 十六进制转换为十进制octdec() — 八进制转换为十进制base_convert()– 在任意进制之间转换数字应用阐明如下:一,十进制(decimal system)转换函数阐明1,十进制转二进制 decbin() 函数,如下实例echo decbin(12); //输出 1100echo decbin(26); //输出 11010decbin(PHP 3, PHP 4, PHP 5
阅读全文
摘要:最近和别人做接口用到SOCKET TCP/IP方式其中需要对账号和密码进行3DES加密对方提供了一个加密比对的软件和JAVA的实现代码并且给了我们一个长度为32位的密钥这边需要用PHP来实现!PHP 3des加密的密钥位24位!关于这个密钥长度的问题纠结了很久最后被哥蒙对了!32位长度如何转化为24位呢我是这样做的将32位的前16位取出来放到后面 这样32+16 = 48位然后用$key = pack('H48',$key)正好是24位!也就是16进制转化为字节流这也是有依据的,这种叫着对称加密当然加密的方式为cbc模式cbc模式加密是需要一个向量来增加安全性的看JAVA代码如
阅读全文
摘要:不同的CPU有不同的字节序类型 这些字节序是指整数在内存中保存的顺序 这个叫做主机序最常见的有两种1. Little endian:将低序字节存储在起始地址2. Big endian:将高序字节存储在起始地址LE little-endian最符合人的思维的字节序地址低位存储值的低位地址高位存储值的高位怎么讲是最符合人的思维的字节序,是因为从人的第一观感来说低位值小,就应该放在内存地址小的地方,也即内存地址低位反之,高位值就应该放在内存地址大的地方,也即内存地址高位BE big-endian最直观的字节序地址低位存储值的高位地址高位存储值的低位为什么说直观,不要考虑对应关系只需要把内存地址从左到
阅读全文
摘要:function genTree5($items) { foreach ($items as $item) $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']]; return isset($items[0]['son']) ? $items[0]['son'] : array(); } 9行代码的 function genTree9($items) { $tree = array(); //格式化好的树 foreac
阅读全文
摘要:概率题:一个篮子里装着20个红球和20个蓝球,每次从中取出2球,如果取出的2球颜色不一样,那么放回红球,取出蓝球;如果取出的2球的颜色是一样的,则都不放回,将2球都取出;不断重复以上步骤。问题:求最后一次取球恰好只取到一个红球的概率。因为红球是偶数,而取出1红1蓝的情况下也会把红球放回,所以红球是不会被单个取出的,所以最后一次取球是不会只取到一个红球的!也就是概率是0,但是不知道这种东西是否也要用程序写出来,如果用数学式是怎么计算的?根本不知道该如何写下面写了个PHP的程序亲测, $x=20; //红球 $y=20; //篮球 $ball = array(); //初始化 将球放入数组中 f.
阅读全文
摘要:挂件PHP文件class CountryCityCombox extends RXWidget { public $provinceId = 2; public $cityId = 3687; public $regionId = 64; public $level = 3; //限定联动层级 为2说明是2级联动 public function init() { $this->provinceId = intval ( $this->provinceId ); $this->cityId = intval ( $this->cityId ); $this->reg
阅读全文
摘要:根据分类父id 递归查询父类别 结果放入二维数组中//$db 为一个数据库对象function get_array($pid,$db){ global $category; $sql = " select * from yl_category where id = " . $pid; $res = $db->query($sql); //查询返回所有结果 if (! empty($res)) { $category[] = $res[0]; return get_array($res[0]['pid'],$db); }else { return $ca
阅读全文
摘要:今天做一个登陆,发现IE下SESSION获取不到,而谷歌和火狐这些非IE内核的浏览器下是正常的,排除了COOKIE的禁用问题,重装了IE浏览器 均不能解决,配了IP 让别人用IE访问一下 可以获取到SESSION,于是就更怀疑自己的电脑设置问题。改了半天也没找到解决方法,最后 我用自己配的IP在自己电脑上面访问居然奇迹出现了!SESSION 可以获取到了!后来查了一下才知道 IE对于不正确的域名是会丢失SESSION的因为自己在本地开发 就随便起了个域名 导致SESSION 无法获取!IP可以获取,正常的域名可以获取!请各位同学注意了!
阅读全文
摘要:PHP上传文件的时候会有一个临时文件,一般默认在环境文件夹下的/tmp文件夹下,然后我们再用copy或者move_uploaded_file()移动到想要的位置,有些业务不需要上传,或者上传后还要删除,就可以直接用临时文件,我上传一个大小为5MB的MP3格式的文件,在用PHP的读取函数fopen 读取的时候发现只能读取到1KB左右的内容,也不知是否读取的是文件里面的信息,开始怀疑是否是超过了PHP读取环境的范围,各种查资料,发现这种类型的资料很少,后来改用file_get_contents 缺可以完整的读取到信息,问题是解决了,但是并不明白为什么,由于项目赶进度也没时间详细研究,先MARK一下
阅读全文
摘要:今天试了下,变量在什么情况下会报NOTICE问题;1、未定义变量2、数组中使用 1、例如我要 echo $a['abcd']; 代码如下 <?php $a = array(); echo $a['abcd']; 会提示Notice: Undefined index: abcd in D:\Work\BlueMobi\bmmood\1.php on line 3 2、如果我用下面代码 $a = null; echo $a['abcd']; 则不会有任何报错 为了应付恶心人的NOTICE 需要注意一定的代码规范
阅读全文