All posts by 龙生

php抓取页面的几种方式

一、 PHP抓取页面的主要方法: 1. file()函数 2. file_get_contents()函数 3. fopen()->fread()->fclose()模式 4.curl方式 5. fsockopen()函数 socket模式 6. 使用插件(如:http://sourceforge.net/projects/snoopy/) 二、PHP解析html或xml代码主要方式: 1. file()函数 <?php $url=’http://t.qq.com’; $lines_array=file($url); $lines_string=implode(”,$lines_array); echo htmlspecialchars($lines_string); ?> 2. file_get_contents() 函数 使用file_get_contents和fopen必须空间开启allow_url_fopen。 方法:编辑php.ini,设置 allow_url_fopen = On,allow_url_fopen关闭时fopen和file_get_contents都不能打开远程文件。 <?php $url=’http://t.qq.com’; $lines_string=file_get_contents($url); echo htmlspecialchars($lines_string); ?>3. fopen()->fread()->fclose()模式 <?php $url=’http://t.qq.com’; $handle=fopen($url,”rb”); $lines_string=”"; do{ $data=fread($handle,1024); if(strlen($data)==0){break;} $lines_string.=$data; }while(true); fclose($handle); echo htmlspecialchars($lines_string); ?>4. curl方式 使用curl必须空间开启curl。方法:windows下修改php.ini,将extension=php_curl.dll前面的分号去掉,而且需 要拷贝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安装curl扩展。 <?php $url=’http://t.qq.com’; $ch=curl_init(); $timeout=5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $lines_string=curl_exec($ch); curl_close($ch); echo htmlspecialchars($lines_string); ?>5. fsockopen()函数 socket模式 socket模式能否正确执行,也跟服务器的设置有关系,具体可以通过phpinfo查看服务器开启了哪些通信协议,比如我的本地php socket没开启http,只能使用udp测试一下了。 <?php $fp = fsockopen(“udp://127.0.0.1″, 13, $errno, $errstr); if (!$fp) { echo […]

龙生   19 Feb 2013
View Details

GD 绘图输出中文

  一:首先查看一下系统下面有没有字体支持 安装字体:sudo apt-get install msttcorefonts 使用中文字体:simhei.ttf 如果没有GOOGLE下载,放到/usr/share/fonts/truetype/目录下,使用的时候直接调用,也可以放到你的网站目录下。 <?php $im = imagecreate(400,300); $black = imagecolorallocate($im, 255, 0, 255); $white = imagecolorallocate($im, 255, 255, 255); $font = “/usr/share/fonts/truetype/msttcorefonts/simhei.ttf”; $string = “this is my second try”; $chinese = “我的好朋友是谁”; //imagestring($im, 10, 10, 10, $string, $white); //imagestring($im, 30, 30, 20, $chinese, 1); imagettftext($im, 20, 0,10, 10, $white, $font, $chinese); imageline($im, 10, 20, 100, 100, 1); header(“Content-type: image/png”); imagepng($im); imagedestroy($im); ?>转自:http://hi.baidu.com/bowengo/item/4e00acd95d2d15fd93a9743c  

龙生   19 Feb 2013
View Details

php绘图

  $size = 300; $image = imagecreatetruecolor($size,$size); //用白色背景,黑色边框画方框 $back = imagecolorallocate($image,255,255,255); $border = imagecolorallocate($image,0,0,0); imagefilledrectangle($image,0,0,$size,$size,$back); //画出白色背景 imagerectangle($image,0,0,$size-1,$size-1,$border); //画出黑色边框 $yellow_x = 150; $yellow_y = 75; $red_x = 100; $red_y = 160; $blue_x = 200; $blue_y = 160; $radius = 150; $yellow = imagecolorallocatealpha($image,255,255,0,75); //此函数将黄色的alpha值调为75,就是透明度 $red = imagecolorallocatealpha($image,255,0,0,75); $blue = imagecolorallocatealpha($image,0,0,255,75); //画三个交叠的圆 imagefilledellipse($image,$yellow_x,$yellow_y,$radius,$radius,$yellow); //此函数就是我要在$image上画一个圆心($yellow_x,$yellow_y)半径为$radius/2颜色为$yellow的圆 imagefilledellipse($image,$red_x,$red_y,$radius,$radius,$red); imagefilledellipse($image,$blue_x,$blue_y,$radius,$radius,$blue); //输出正确的header header(“Content-type: image/png”); //输出结果 imagepng($image); imagedestroy($image);转自:http://yq329.blog.163.com/blog/static/117379566201131821330796/  

龙生   19 Feb 2013
View Details

如何使用PHP中的日期和时间函数

 (1)date 用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义: U 替换成从一个起始时间(好象是1970年1月1日)以来的秒数 Y 替换成4位的年号. y 替换成2位的年号. F 替换成月份的英文全称.M 替换成月份的英文简称. m 替换成月份数. z 替换成从当年1月1日以来的天数. d 替换成日数. l 替换成星期几的英文全称. D 替换成星期几的英文简称. w 替换成星期几(数字). H 替换成小时数(24小时制). h 替换成小时数(12小时制). i 替换成分钟数. s 替换成秒数. A 替换成”AM”或”PM”. a 替换成”am”或”pm”. S 替换成序数字后缀,例如:”st”,”nd”,”rd”,”th”. 函数返回作过了替换的格式串.(2)getdate(时间) 返回一个哈希表,各下标是: “seconds” — 秒数 “minutes” — 分数“hours” — 小时数 “mday” — 日数 “mon” — 月份数 “year” — 年号 “yday” — 1月1日以来的天数 “weekday” — 星期几,英文全称 “month” — 月份,英文全名 (3)gmdate与date类似,但先将时间转换成格林威治标准时. (4)mktime 用法: mktime(小时数,分数,秒数,月,日,年);返回一个时间值,可用于其他函数. (5)time 用法: time(); 返回1970年1月1日零点以来的秒数.(6)microtime 用法: microtime(); 返回一个字符串,用空格分成两部分,后一部分相当于time()的返回值,前一部分是微秒数. (7)checkdate 用法: checkdate(月,日,年); 返回逻辑真或逻辑假.如果: [1]年在1900和32767之间(包括1900与32767); [2]月在1到12之间;[3]日在该月的允许日数范围内(考虑了闰年); 则返回逻辑真. (8)set_time_limit 用法:set_time_limit(秒数); 规定从该句运行时起程序必须在指定秒数内运行结束, 超时则程序出错退出.

龙生   19 Feb 2013
View Details

Resource is out of sync with the file system解决办法

在eclipse或mycelipse中,启动run on server时或查看项目文件时报错: Resource is out of sync with the file system: ‘/Test_1_Struts_Spring_Hibernate/WebContent/WEB-INF/.struts-config.xml.strutside’. 这是文件系统不同步的问题,是因为在eclipse或mycelipse之外对工程中的resource进行修改引起的(或者是由不同的系统间对文件进行修改引起的);但是,有时没有在eclipse或mycelipse之外进行修改,也会报类似的错误。 解决办法:需要手动刷新一下资源管理器。 ( 1)在eclipse或mycelipse中,工程目录右键,选择F5(refresh) (2)设置eclipse或mycelipse自动刷新。 通过Window->Preferences->General->Workspace,选中Refresh automatically。   http://blog.163.com/hjysys1314@126/blog/static/107903208201021105739351/  

龙生   19 Feb 2013
View Details

ubuntu下eclipse安装PDT(php development toolkit)

  eclipse是我非常喜欢的IDE,开源+免费+功能强大+跨平台+跨语言+插件机制,虽然有时候也会有这样那样的问题,但是作为主力开发IDE,eclipse已经非常足够了。 第1步,安装JRE:sudo apt-get install sun-java6-jre 第2步,下载eclipse: http://www.eclipse.org/downloads/ 找到其中Eclipse Classic 3.*.*.*,选择linux版,因为eclipse是绿色版的,所以下载下来解压就可以使用了。 第3步,打开eclipse:先chmod 777 -R ./给予eclipse文件夹足够的权限,否则会报错, 然后会要求选择开发目录,直接指定php的开发根目录就可以,配置地址在Windows –>Preferences,面板很多,功能混乱,eclipse的使用估计要适应一段时间的,但是相信我,没有比这更好的IDE了。 第4步,安装WST(Web Standard Tools)等基础环境:eclipse的插件非常多,先要安装一些基础插件,按照路径Help –>Softwear Updates –>Find and Install –> Search for new features to install 选中Europa Discovery Site(我的是3.3版本的eclipse)–>Finish –>开始搜索相关的可更新项,如果要求选择服务器,看看有没有shanghai,有的选上海–>出现Europa Discovery Site的根目录,翻里面的Web and J2EE Develepment里面的WST,选种以后会提示你缺少另一个插件,这时候点右侧的Select Required,就会自动找到所有需要的插件 –>Finish 后面安装完就可以了。 第5步,安装PDT:php在eclipse下面有两个插件:phpeclipse和PDT,现在PDT发展的比较好。按照路径Help –>Softwear Updates –>Find and Install –> Search for new features to install,点击右侧的New Remote Site,为左侧选择框添加PDT的在线安装地址,地址为:http://download.eclipse.org/tools/pdt/updates/release 后面的安装方法和第4步一样。 第6步,安装subeclipse:用subversion做版本控制的朋友可以用这个插件,直接在http://subclipse.tigris.org/里面找在线安装的地址,然后学第5步的方法安装。 第7步,安装Aptana:Aptana里面的一些web开发工具比较不错,这里建议安装:在线安装的地址是:http://update.aptana.com/update/studio/3.2 转自:http://blog.csdn.net/hhq163/article/details/6904244

龙生   19 Feb 2013
View Details

mySQL错误: The used table type doesn’t support FULLTEXT indexes

  mySQL错误: The used table type doesn’t support FULLTEXT indexes 说明不支持全文索引 解决方法有两种,网上大多方法是: 1.打开my.ini,搜索default-storage-engine=,你搜索到的应该是 default-storage-engine=INNODB,把INNODB改成MyISAM,然后重新启动Mysql 这样所有的表都支持全文索引了。 2.如果你只想某张表具有全文索引,这只需要要把表的type改成MyISAM 具体做法如下: ALTER TABLE 表名 TYPE = MyISAM; 或者你和我一样用了navicat工具: 可以在选择-》设计表-》选项 在表类型中改成MyISAM即可。 如果大家用上述方法碰到问题,欢迎大家和我交流,我及时更正。 转自:http://www.cnblogs.com/liveandevil/archive/2012/08/10/2631601.html  

龙生   19 Feb 2013
View Details

PHP:Deprecated: Function set_magic_quotes_runtime() is deprecated 错误

  在安装PHPCMS出现Deprecated: Function set_magic_quotes_runtime() is deprecated 错误,查了一下网络及资料发现是PHP5.3和PHP6.0之后移除了set_magic_quotes_runtime()函数。   set_magic_quotes_runtime(0)函数作用解释 在php.ini的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini文件中magic_quotes_runtime状态。 为了使自己的程序不管服务器是什么设置都能正常执行。可以在程序开始用get_magic_quotes_runtime检测设置状态秋决定是否要手工处理,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉。 magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的’”/加上反斜线。可以用get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号(’)、双引号(”)、反斜线(/)与 NUL(NULL 字符)。   解决办法: //@set_magic_quotes_runtime(0); ini_set(“magic_quotes_runtime”,0);   就是用ini_set()办法替代原有的set_magic_quotes_runtime语法。 转自:http://blog.csdn.net/nstwolf/article/details/5806616  

龙生   19 Feb 2013
View Details

Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程

说到PHP环境配置与安装,通常以Apache搭载PHP配置为主,随着PHP版本不断更新,对Windows IIS平台的支持也越来越好,在Windows IIS平台上配置安装PHP环境也越来越方便。 在完成Windows 7上搭建Apache+PHP+Mysql环境搭建后,我在Windows 7 IIS7平台上对PHP5.2和PHP5.3进行了配置安装,PHP5.3之前版本在Windows IIS平台上的PHP配置方式主要以ISAPI方式进行,而PHP5.3支持IIS以FastCgi方式运行PHP,这两个PHP5版本的配置安装还是有不小的区别,下面详细介绍ISAPI和FastCgi两种方式在IIS上进行PHP配置的方法。 准备工作 在完成IIS上进行PHP5安装配置工作之前,首先需要下载PHP5.2和PHP5.3,PHP5.3以php-5.3.2-Win32-VC9-x86为准。 Windows7 IIS7安装 在进行IIS7 PHP安装配置之前,首先需要安装IIS7,Windows7默认并没有安装IIS,安装过程如下: 首先进入控制面板,点击程序和功能,再点击左侧打开和关闭Windows功能,勾选Internet Information Services可承载的Web核心,确定安装。 在完成安装后,在勾选Internet信息服务,选择安装必要的IIS功能,注意由于在配置PHP5.2和PHP5.3时,IIS7中是以ISAPI和FastCgi方式配置PHP的,所以Cgi和ISAPI扩展和ISAPI筛选器务必勾选(此处由于我首先以ISAPI方式配置PHP5.2,我没有勾选Cgi),如图: 安装IIS7 在完成Windows7 IIS7的安装后,即可在控制面板中的管理工具中看到Internet信息服务管理器选项。 ISAPI方式 第一步:php.ini配置 解压php-5.2.13-Win32-VC6-x86.zip,重命名为php52iis,将其复制到C盘根目录下,将php.ini-list文件名更改为php.ini,打开php.ini进行配置,注意extension_dir的目录指向必须准确,即 extension_dir = "C:/php52iis/ext" 另外在PHP5.2版本中没有date.timezone选项,所以无需设置。 在完成PHP5.2中php.ini的配置工作后,将其复制至C:WINDOWS目录下,同时将PHP52iis目录下的libmcrypt.dll,libmysql.dll,php5ts.dll三个文件到C:/windows/System32目录下。 第二步:以ISAPI方式配置PHP5.2 打开IIS,选择网站下的Default Web Site中的ISAPI筛选器进行PHP配置工作,即 添加ISAPI筛选器,选择PHP相应的DLL文件然后选择处理程序映射,进行添加脚本映射操作,即 在完成上述IIS7的PHP5配置后,有需要说明一下,默认IIS7下的网站,其绑定的端口为80端口,网站目录为%SystemDrive%inetpubwwwroot,如果你向我一样在此之前安装配置了Apache+PHP的环境,则需要修改默认网站绑定的端口及网站目录,如将80端口改为8080,网站目录指向D:PHPWeb。或者添加一个新网站,即先添加应用程序池,再添加一个网站。   添加默认文档 在完成新网站添加后,请确保处理程序映射中有添加的脚本映射,如果没有,请重复添加脚本映射操作即可。 第三步:重启IIS7服务器 在D:PHPWeb目录下新建一个index.php文件,内容如下 <? phpinfo(); ?> 在游览器中输入http://localhost:8080/,查看PHP5.2配置信息。 至此在Windows7 IIS7上安装配置PHP5.2就算完成了。   FastCgi方式 在Windows7 IIS7上配置PHP5.3,主要以FastCgi方式进行配置,大体上与PHP5.2的配置基本一样。首先解压php-5.3.2-Win32-VC9-x86,重命名为php53iis并将其复制到C盘根目录。 第一步:添加网站 具体添加过程请参考IIS PHP5.2的配置。 第二步:添加FastCgi模块映射 点击处理程序映射,进行添加模块操作,即 配置IIS以FastCgi方式运行PHP5.3 第三步:php.ini配置 首先将php.ini-development重命名为php.ini,并将 fastcgi.impersonate=1 默认为0,如果使用IIS,你需要开启 cgi.fix_pathinfo=1 cgi.force_redirect=0 默认开启,如果你使用IIS,可以将其关闭 其次指定extension_dir目录和date.timezone,即 extension_dir = "C:/php53iis/ext" date.timezone= Asia/Shanghai 其他PHP.INI配置与PHP5.2的配置一样,区别在于,在Windows7 IIS7上配置安装PHP时,并不需要将php.ini及其他文件复制到C:/windows及C:/windows/System32目录下,简单很多 第四步:重启IIS7服务器 同时访问http://localhost:8080/即可。 FastCGI进程意外退出如何解决? 在使用Windows7 IIS7进行PHP配置安装过程中,如果PHP配置不正确,会出现FastCGI进程意外退出出错信息,此时你可以在DOS下使用 C:php53iisphp.exe -v 进行调试查看,一般情况下会将PHP配置的错误信息报出,你只要根据此信息修改相关PHP配置即可。 至此在Windows7 IIS7平台上进行PHP5.2和PHP5.3的配置安装工作就介绍完了,应该讲随着PHP版本的提高,PHP的配置工作也越来越简单化。

龙生   19 Feb 2013
View Details

KinSlideshow参数设置说明

  Jquery.KinSlideshow参数设置说明: 附:所有参数列表   intervalTime:5,   //设置间隔时间为5秒 【单位:秒】 [默认为5秒]  moveSpeedTime:400   //切换一张图片所需时间,【单位:毫秒】[默认为400毫秒]   moveStyle:”left”,   //切换方向 可选值:【 left | right | up | down 】 //left:向左切换,right:向右切换,up:向上切换,down:向下切换 [默认向左切换]   mouseEvent:”mouseclick”,   //鼠标操作按钮事件,可选值:【mouseclick | mouseover】 //mouseclick:鼠标单击切换。mouseover:鼠标滑过切换。[默认为鼠标点击按钮切换]  isHasTitleBar:true,   //是否显示标题背景 可选值:【 true | false 】[默认为true]   titleBar:{titleBar_height:40,titleBar_bgColor:”#000000″,titleBar_alpha:0.5}, //标题背景样式,(isHasTitleBar = true 前提下启用)    titleBar_height :40 – > 标题背景高度。[默认:40]    titleBar_bgColor:”#000000″ – > 标题背景颜色。[默认:#000000]    titleBar_alpha:0.5 -> 标题背景透明度,取值【0~1】。[默认:0.5]   isHasTitleFont:true,  //是否显示标题文字 可选值:【 true | false 】[默认为true]  titleFont:{TitleFont_size:12,TitleFont_color:”#FFFFFF”,TitleFont_family:”Verdana”,TitleFont_weight:”bold”},  //标题文字样式,(isHasTitleFont = true 前提下启用)    TitleFont_size – > 标题文字大小 单位像素。[默认:12]    TitleFont_color:”#FFFFFF” – > 标题文字颜色。[默认:#000000]    TitleFont_family:”Verdana” -> 标题文字字体。[默认:Verdana]    TitleFont_weight:”bold” -> 标题文字粗细。 //可选值:【 bold | normal 】[默认:"bold"]  ,normal 正常 不加粗。   isHasBtn:true, //是否显示按钮   btn:{btn_bgColor:”#666666″,btn_bgHoverColor:”#CC0000″,    btn_fontColor:”#CCCCCC”,btn_fontHoverColor:”#000000″,btn_fontFamily:”Verdana”,   btn_borderColor:”#999999″,btn_borderHoverColor:”#FF0000″,    btn_borderWidth:1,btn_bgAlpha:0.7} //按钮样式设置,(isHasBtn = true 前提下启用)    btn_bgColor:”#666666″ -> 按钮背景颜色 [默认:"#666666"]。    btn_bgHoverColor:”#CC0000″ -> 按钮滑过/点击 背景颜色 [默认:"#CC0000"]。    btn_fontColor:”#CCCCCC” -> 按钮文字颜色 [默认:"#CCCCCC"]。    btn_fontHoverColor:”#000000″ -> 按钮滑过/点击 按钮文字颜色  [默认:"#000000"]。    btn_fontFamily:”Verdana”, -> 按钮文字字体 [默认:"Verdana"]。    btn_borderColor:”#999999″ -> 按钮边框颜色 [默认:"#999999"]。    btn_borderHoverColor:”#FF0000″ -> 按钮滑过/点击 按钮边框颜色  [默认:"#FF0000"]。    btn_borderWidth:1 -> 按钮边框宽度,单位像素不能超过3 [默认:1]。    btn_bgAlpha:0.7 -> 按钮透明度 ,取值【0~1】 [默认:0.7]。   【多项复合】参数调用说明    $(function(){    $(“#KinSlideshow”).KinSlideshow({    titleFont:{TitleFont_size:14,TitleFont_color:”#FF0000″}  //设置标题文字大小为14px,颜色:#FF0000 【titleFont 其他未设置的 使用默认参数设置】    });    })  转自:http://blog.sina.com.cn/s/blog_4f4f4a5901014zn1.html

龙生   19 Feb 2013
View Details
1 369 370 371 410