PHP采集程序常用的采集函数

星期三,2010 十一 17 14:19:02

这几天关注了一下PHP的采集程序,才发现用PHP采集内容是这么方便,把经常用到的采集函数在这里总结一下,方便以后使用!

获取所有链接内容和地址

function getAllURL($code){
preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr);
return array('name'=>$arr[2],'url'=>$arr[1]);
}

获取所有的图片地址

function getImgSrc($code){
$reg = "/]*src=\"(http:\/\/(.+)\/(.+)\.(jpg|gif|bmp|bnp|png))\"/isU";
preg_match_all($reg, $code, $img_array, PREG_PATTERN_ORDER);
return $img_array[1];
}

当前的脚本网址

function getSelfURL(){
if(!empty($_SERVER["REQUEST_URI"])){
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
}else{
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
}
return $nowurl;
}

阅读全文

   依洋 |  PHP |  [9] |  浏览: 3,067次  

PHPExcel生成和读取Excel文件[实例]

星期四,2010 九 2 16:03:52

在网站的管理后台经常会使用到报表的生成和读取,CSV和Excel都是常用的报表格式,CSV相对来说比较简单,如果大家有疑问我会相继发布一些CSV的实例,这里主要介绍用PHP 来生成和读取Excel文件。

要执行下面的函数,首先要引入一个类库:PHPExcel,PHPExcel是一个强大的PHP类库,用来读写不同的文件格式,比如说Excel 2007,PDF格式,HTML格式等等,这个类库是建立在Microsoft’s OpenXML和PHP 的基础上的,对Excel提供的强大的支持,比如设置工作薄,字体样式,图片以及边框等等,下面来看看它是如何读写Excel文件的:

首先来看如果生成Excel文件:

下面这代码中函数arrayToExcel的功能是把一个二维数组的数据生成一个excel文件,并且保存在服务器上。
require_once 'Classes/PHPExcel/Reader/Excel2007.php';
require_once 'Classes/PHPExcel/Reader/Excel5.php';
include 'Classes/PHPExcel/IOFactory.php';
function arrayToExcel($data){
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->setTitle('firstsheet');
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);
//add data
$i = 2;
foreach ($data as $line){
$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $line['From']);
$objPHPExcel->getActiveSheet()->getCell('A'.$i)->setDataType('n');
$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $line['To']);
$objPHPExcel->getActiveSheet()->getCell('B'.$i)->setDataType('n');
$i++;
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$file = 'excel.xls';
$objWriter->save($file);
}

阅读全文

   依洋 |  PHP |  [53] |  浏览: 7,588次  

利用PHP对腾讯微博发布和收听

星期四,2010 七 15 13:29:13

微博流行已经很久了,在各大门户已经开放注册,功能齐全,甚至有些还开放API,腾讯微博发布出来以后凭借着庞大的用户群,很快也受到了用户的关 注。目前腾讯微博尚处于内测阶段,没有公开的API。很多用户希望能够更新自己其他的微博时,能同时更新自己的腾讯微博,或者通过程序来给多个帐号更新微博内容。其实更新内容并不难,主要是登录问题,登录以后要保存COOKIE,COOKIE存在才可以进行更新微博内容,收听微博等操作。

下面来介绍一下如何通过PHP来进行腾讯微博操作,也可以直接查看演示

如何用PHP登陆微博账户

腾讯的登录需要两个步鄹,第一步是根据自己的QQ号获取验证码,验证地址是:
http://ptlogin2.qq.com/check?uin=@'.$qq.'&appid=46000101
其中$qq代表你的微博帐号,通过这个验证你可以得到如下的结果:
ptui_checkVC('0','!CCQ');
其中!CCQ就是对应的验证码。这是一个随机码,每次访问都会有变化的。第二步就是把用户名,密码和验证码等信息提交到下面的地址: 阅读全文

   依洋 |  PHP |  [11] |  浏览: 3,196次  

在 PHP 中引用意味着用不同的名字访问同一个变量内容。这并不像 C 的指针,它们是符号表别名。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。PHP的引用是通过在变量名或者函数名前加&符号来实现的。下面解释一下引用的几种用法:
首先是变量的简单引用,允许你用两个变量来指向同一个内容,举个简单的例子:

  1. < ?php
  2. $a = 5;
  3. $b = &$a;
  4. echo $b;
  5. $a++;
  6. echo $b;
  7. ?>

运行这段代码是让$b来引用$a的内容,然后改变$a的内容,$b的内容也会随之变化。同样的语法可以用在函数中,它返回引用,以及用在 new 运算符中:

  1. < ?php
  2. $bar =& new fooclass();
  3. $foo =& find_var ($bar);
  4. ?>

引用做的第二件事是用引用传递变量。这是通过在函数内建立一个本地变量,并且该变量在呼叫范围内引用了同一个内容来实现的。说的通俗点就是一个函数的参数是一个本地变量的引用。下面再举例说明一下
阅读全文

   依洋 |  PHP |  [7] |  浏览: 2,349次  

PHP rawurlencode()和urlencode()函数区别

星期四,2010 六 24 14:10:10

今天在阅读开源代码时发现了一个URL的编码函数:rawurlencode(),以前一直没有注意过,因为在平时的开发上主要使用的是 urlencode(),故专门研究了一番。

其实这两个函数的区别很简单,它们两个都会把URL中的非英文字符进行转义,替换成”%”后跟两位十六进制数,不同的是:rawurlencode 遵守是94年国际标准备忘录RFC 1738,对空格的转义是’%20′;而urlencode的编码实现的是传统做法,和POST表单数据一样会把空格转义成”+”号。

举个例子:
如果URL地址源的形式是:http://ityizhan.com/PHP 编码区别
rawurlencode($url):
http%3A%2F%2Fityizhan.com%2FPHP%20%E7%BC%96%E7%A0%81%E5%8C%BA%E5%88%AB%2B
urlencode($url):
http%3A%2F%2Fityizhan.com%2FPHP+%E7%BC%96%E7%A0%81%E5%8C%BA%E5%88%AB%2B

阅读全文

   依洋 |  PHP |  [6] |  浏览: 2,364次  

DEDECMS 重设后台管理员密码

星期一,2010 六 7 17:07:03

电脑上装的东西太多,不小心把刚装不久的DEDECMS密码忘记了,找了半天资料才找到重设的方法,如果大家遇到了和我一样的问题,不妨可以试一试下面这两个方法,我当前使用的版本是 DedeCMS V5.6

首先是一个官方的重设密码工具,比较方便好使,下载地址是:
radminpass
下载此工具以后,只需要将radminpass.php文件拷贝到根目录,运行“http://yousite/radminpass.php(yousite为网站域名)”,按照操作执行就可以。恢复完成后请及时删除这个文件!

还有一个方法是我按照上面的工具自己简写了一个重设密码的文件。
resetpwd.php
大家下载此文件以后放到你站点的根目录,只要运行一下,就会给admin重设密码为000000

此方法的文件内容如下: 阅读全文

   依洋 |  PHP |  [3] |  浏览: 2,779次  
1/71234567