随笔分类 -  PHP

摘要:接触PHP第二天,要求PHP访问WCF服务着实痛苦,无从下手啊.在网上查了很多资料知道PHP访问WCF很方便如上即可访问但是报错,无法找到SoapClient 这个类,在网上找答案,说是要去掉php.ini中;extension=php_soap.dll的分号去掉,然后重启即可由于不熟悉,兄弟一直在apach中的php.ini-dist中改了又改,一直无效.看了很多网站,都是说没有去掉那个分号可是我就纳闷了,我去了咋就不行呢蛋痛了一下午,最后甚至怀疑是不是人品出了问题临近下班,无意间又打开了localhost这个熟悉的界面php.iniF:\PHP\php-5.2.14-Win32\php-a 阅读全文
posted @ 2013-09-29 09:36 郑文亮 阅读(3613) 评论(0) 推荐(0) 编辑
摘要:安装MongoDB可以参照我的C#操作MongoDB那篇文章。php的话首先从网上下载MongoDB的扩展包,https://github.com/mongodb/mongo-php-driver/downloads,选择对应的扩展包。这是我下的,然后解压,VC6适合apache,VC9适合IIS,ts(thread safe)指PHP以模块形式运行的。然后把其中的php_mongo.dll放在PHP中的ext文件夹中,然后在PHP.INI里面加入extension=php_mongo.dll,重启apache。至此PHP扩展MongoDB的包安装完毕。关于查询MongoDB一些使用函数可以查 阅读全文
posted @ 2013-09-28 08:19 郑文亮 阅读(964) 评论(0) 推荐(0) 编辑
摘要:多国语言并存就意味着多字节,PHP内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于GB2312的中文编码,strlen得到的值是汉字个数的2倍,而对于UTF-8编码的中文,就是1~3倍的差异了。采用PHP字符串mbstring可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到UTF-8的字符串$str长度,可以用mb_strlen($str,’UTF-8′)。如果省略第二个参数,则会使用PHP的内部编码。内部编码可以通过mb_internal_encoding()函数得到,设置有两种 阅读全文
posted @ 2013-09-26 18:39 郑文亮 阅读(18518) 评论(1) 推荐(1) 编辑
摘要:1.mysql是非持继连接函数而mysqli是永远连接函数也就是说mysql每次链接都会打开一个连接的进程,而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销有 些朋友在编程的时候,使用 newmysqli('localhost',usenamer','password','databasename');总是报 错,Fatalerror:Class'mysqli'notfoundind:...mysqli类不是php自带的吗?不是默认开启的,win下要改php.ini,去掉php_mysqli.d 阅读全文
posted @ 2013-09-26 17:22 郑文亮 阅读(1232) 评论(1) 推荐(0) 编辑
摘要:一、问题: 数据库是MS SQLServer2000,要把SQLServer2000里的一张表的数据导入MySQL5,其中SQLServer2000表的字段以简体中文命名(强烈建议不要以中文做为字段名)。其实操作就是对SQLServer查询记录,插入到MySQL里。选择的脚本语言是PHP,PHP打开MSSQL和MySQL扩展,对这两个数据库操作都是很容易的问题。问题就出现在SQLServer中表的字段名是中文,写好的查询语句在SQLServe里测试是通过有记录返回,用PHP的MSSQL扩展查询就是报错。 上网查了资料,网上相关的信息不太多,很多网友都认为是PHP的MSSQL扩展不支持SQL语句 阅读全文
posted @ 2012-10-12 13:44 郑文亮 阅读(2755) 评论(0) 推荐(1) 编辑
摘要:<?php?$str="this is a test \n"; $patten = array("\r\n", "\n", "\r"); ?//先替换掉\r\n,然后是否存在\n,最后替换\r $str=str_replace($order, "", $str); ?> ?//php 有三种方法来解决 //1、使用str_replace 来替换换行 $str = str_replace(array("\r\n", "\r", "\n& 阅读全文
posted @ 2012-10-11 15:56 郑文亮 阅读(640) 评论(0) 推荐(0) 编辑
摘要:通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题: 用nginx来做webserver的时,上传大文件时需要特别注意client_max_body_size这个参数,否则会中断在nginx的请求中,在php中是无法记录到访问的. 一般上传大文件流程: 首先修改php.ini文件: 参数 设置 说明 file_uploads on 是否允许通过HTTP上传文件的开关。默认为ON即是开 upload_tmp_dir – 文件上传至服务器上存储临时文件的地方,如果没指定就会用系统默认的临时文件夹 upload_max_filesize 8m 望文生意 阅读全文
posted @ 2012-09-18 15:37 郑文亮 阅读(28087) 评论(1) 推荐(1) 编辑
摘要:打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mysql是5.0版本的,导入数据后,用Php读出来全是问号,乱码一片,记得我以前也曾经有过一次切换出现乱码的经验,原因肯定是Mysql版本之间的差异问题。 只好查资料,发现了一个解决方法,就是在mysql_connect后面加一句SET NAMES UTF8,即可使得UTF8的数据库消除乱码,对于GBK的数据库则使用SET NAMES GBK,代码如下:$mysql_mylink = mysql_connect.. 阅读全文
posted @ 2012-08-30 14:03 郑文亮 阅读(465) 评论(1) 推荐(1) 编辑
摘要:UCenter Home:社会化网络(SNS)软件 UCenter Home 是一套采用PHP+MYSQL构建的社会化网络软件(Social Network Software,简称SNS)。 通过 UCenter Home,建站者可以轻松构建一个以好友关系为核心的交流网络,让站点用户可以用迷你博客一句话记录生活中的点点滴滴;方便快捷地发布日志、上传图片;更可以十分方便的与其好友们一起分享信息、讨论感兴趣的话题;轻松快捷的了解好友最新动态。 UCenter Home 强调“家”的理念,充分认可每一个站点用户的个人隐私重要性。提供强大丰富的隐私设置功能。每一个人都有权限设置自己的个人主页... 阅读全文
posted @ 2012-08-21 17:26 郑文亮 阅读(1120) 评论(0) 推荐(0) 编辑
摘要:方法名:mssql_fetch_row()测试:返回:Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小一Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小二Notice: Undefined index: UserId in D:/_PHP_Test/Test2/test_connLocalDB.php on line 32 ::王小三 阅读全文
posted @ 2012-08-07 16:33 郑文亮 阅读(1381) 评论(1) 推荐(1) 编辑
摘要:mb_convert_encoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。不过英文一般不会存在编码问题,只有中文数据才会有这个问题。比如你用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。mb_convert_encoding的用法见官方:http://cn.php.net/manual/zh/function.mb-convert-encoding.php做一个GBK To UTF-8 < ?php header( 阅读全文
posted @ 2012-08-07 16:16 郑文亮 阅读(5487) 评论(0) 推荐(2) 编辑
摘要:php中3des加密的结果与.Net/java不同的帖子与话题实在是太多了,我前不久也在倒腾这些,不过今天已经搞定了 ...PHP中3des加密的结果与.net/Java不同的帖子与话题实在是太多了,我前不久也在倒腾这些,不过今天已经搞定了,完全与.net中的兼容01.<?php02.class Crypt3Des03.{04.private $key = "";05.private $iv = "";06./**07.* 构造,传递二个已经进行base64_encode的KEY与IV08.*09.* @param string $key10.* 阅读全文
posted @ 2012-08-02 09:05 郑文亮 阅读(633) 评论(0) 推荐(0) 编辑
摘要:在ASP中,我们可以使用Server.Transfer来实现在服务器端重定向,PHP中虽然没有这样的函数,但是要实现类似的跳转也不难:(注意不是用 header ,js 等方法做的客户端跳转)function server_transfer($dest){ global ...; // 把希望在新页面中用到的本页变量或者自定义的全局变量列在这里 include $dest; // 运行新脚本 exit; // 退出本脚本}注意:1. 如果跳转之前输出的任何数据都会在新页面中显示,除非使用 ob_start 缓冲,可以在跳转之前清空,这样就互不影响了.2. 由于新页面在一个自定义的函数作用域内运 阅读全文
posted @ 2012-08-01 14:17 郑文亮 阅读(865) 评论(1) 推荐(0) 编辑
摘要:大家都知道php GD库可方便的从URL新建一图像, GD中有imagecreatefromjpeg(),imagecreatefromPNG()....等之类的FUNCTION 可有时从URL中读取的切BMP图像而 可恨的是 GD2中切偏偏没有imageCreateFromBMP() 虽然有imagecreatefromWBMP() 但还是相差还是很远!用下面FUNCTION可以方便解决function imagecreatefrombmp($file){ global $CurrentBit, $echoMode; $f=fopen($file,"r"); $Heade 阅读全文
posted @ 2012-07-16 14:17 郑文亮 阅读(2890) 评论(1) 推荐(0) 编辑
摘要:12.3 自动微缩图的生成 由于图片的数据量比较大,传递过程相对较长,所以在用户浏览图片时,常常希望先显示一个图片的缩略图。 虽然在HTML中可以通过指定图片的宽度和高度来随意缩放图片,但是这种方法不会减少图片的像素数目。图形文件的尺寸没有改变,当然也不会加快图片下载的速度了。当然也可以手动通过图形软件生成图片的缩略图,但对于大量的图片展示来说,这个工作量将十分巨大。为此微缩图的自动生成程序就被设计出来了。 PHP中提供的imagecopyresized函数就可以用来生成真正的缩赂图片。该函数的标推语法如下: 语法:int imagecopyresized(int dst_im,int src 阅读全文
posted @ 2012-07-16 11:24 郑文亮 阅读(839) 评论(0) 推荐(0) 编辑
摘要:<?phpheader("Content-type:text/xml;charset=utf-8");$aaa =<<<html<?xml version='1.0' encoding='utf-8'?> <SubFucParams> <Version>1.0.0.0</Version> <Publisher>d3e59f1d78f344c682bef3517a4b667f</Publisher> <PublisherName>rong 阅读全文
posted @ 2012-07-11 16:04 郑文亮 阅读(7342) 评论(0) 推荐(1) 编辑
摘要:<?php$x='<html><body>我很长,如何换行呢?我很长,如何换行呢?我很长,如何换行呢?我很长,如何换行呢?我很长,如何换行呢?</body></html>';$xx=<<<html<html><body>我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,我不长,?</body></html>html;echo$xx;?> 阅读全文
posted @ 2012-07-11 12:02 郑文亮 阅读(2729) 评论(0) 推荐(0) 编辑
摘要:<?PHPrequire_once("mssql.class.php");//1.创建类,并连接数据库$db = new mssql("dns=aaa;uid=sa;pwd=sa;dbname=test");//2.连接数据库$conn = $db->config("dns=aaa;uid=sa;pwd=sa;dbname=test");//3.选择数据库$dbname = $db->select_db("test");//4.设置允许调试$db->debug = true;//5.执行一条 阅读全文
posted @ 2012-07-11 09:56 郑文亮 阅读(743) 评论(0) 推荐(0) 编辑
摘要:将数据库用户名密码等信息写到配置文件config.php里,在在需要引用配置文件内容的文件里用include或require包含进来,并在函数里用global关键字将存放数据库名,密码等的变量全局化,这样就可以在文件里的函数里使用了。config.php文件:<?php$db_name="test";$db_username="root";global $db_password;?>数据库操作类(调用配置文件)db.fun.php:<?phprequire("config/config.php");class db{ 阅读全文
posted @ 2012-07-06 13:43 郑文亮 阅读(12183) 评论(1) 推荐(0) 编辑
摘要:如何防止下载或访问PHP的配置文件? 比如服务器里存放着config.php文件,里面有访问数据库的用户名和密码。怎么样防止用户查看该文件?或是,PHP的设计本身就避免直接查看文件内容的情况? 从安全角度考虑,这个系统级的文件应该做什么保护措施?网友完善的答案经调研,得出以下常用方法:1 在程序中定义一个标识变量define('IN_SYS', TRUE);2 在config.php中获取这变量if(!defined('IN_SYS')) {exit('禁止访问');} 阅读全文
posted @ 2012-07-06 13:20 郑文亮 阅读(738) 评论(0) 推荐(0) 编辑