当前位置:  编程技术>php
本页文章导读:
    ▪探讨:php抓取页面的几种方法      一、 PHP抓取页面的主要方法: 1. file()函数 2. file_get_contents()函数 3. fopen()->fread()->fclose()模式 4.curl方式 5. fsockopen()函数 socket模式 二、PHP解析html或xml的方式: 1. file()函数   代码示例:.........
    ▪php实现包含自己名片的二维码的例子      之前我们介绍过一个php二维码程序,本文接着想尝试下在邮箱的签名中添加自己的通讯录二维码,方便手机直接拍照添加联系人到通讯录。 代码如下:   代码示例: <?php include("phpqrcode/php.........
    ▪php二维码程序的实现代码      php生成二维码可以有以下几种方式 1.google开放api 例子:   代码示例: <?php //google api $url="http://phperzj.sinaapp.com/"; echo cre_QR($url);    function cre_QR($chl,$widhtHeight ='150',$EC_level='L',$margin='0'){ .........

[1]探讨:php抓取页面的几种方法
    来源: 互联网  发布时间: 2013-12-24

一、 PHP抓取页面的主要方法:
1. file()函数
2. file_get_contents()函数
3. fopen()->fread()->fclose()模式
4.curl方式
5. fsockopen()函数 socket模式

二、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 "ERROR: $errno - $errstr<br />\n"
} else {
fwrite($fp, "\n")
echo fread($fp, 26)
fclose($fp)
}

    
[2]php实现包含自己名片的二维码的例子
    来源: 互联网  发布时间: 2013-12-24

之前我们介绍过一个php二维码程序,本文接着想尝试下在邮箱的签名中添加自己的通讯录二维码,方便手机直接拍照添加联系人到通讯录。
代码如下:
 

代码示例:
<?php
include("phpqrcode/phpqrcode.php");
$url='BEGIN:VCARD
VERSION:3.0
FN:张三
NICKNAME:zhangsan
ORG:水平有限互联网公司
TITLE:PHP应用开发工程师
TEL;TYPE=work:***44301
TEL:158****4233
EMAIL:zhangsan@***.***.com.cn
END:VCARD';
QRcode::png($url,"b.png");
?>
 

注意:以上方法需要下载phpqrcode的文件。

另外,还可以用谷歌api的方法。
 

代码示例:

<?php
$vname = '张三';
$vtel = '158****4233';
$nickname='zhangsan';
$company='水平有限互联网公司';
$title='PHP应用开发工程师';
$email="zhangsan@***.***.com.cn";
$worktel='***44301';
generateQRfromGoogle($vname,$vtel,$nickname,$company,$title,$worktel,$email);

function generateQRfromGoogle($vname,$vtel,$nickname,$company,$title,$worktel,$email,$widhtHeight ='200',$EC_level='L',$margin='0')
{
    if($vname&&$vtel){
       $chl = "BEGIN:VCARD\nVERSION:3.0\n". //vcard头信息
 "FN:$vname\n".
 "NICKNAME:$nickname\n".
 "ORG:$company\n".
 "TEL:$vtel\n".
 "TITLE:$title\n".
 "TEL;WORK;VOICE:$worktel\n".
 "EMAIL:$email\n".
 "END:VCARD"; //vcard尾信息
 echo $chl;echo "\n";
        echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'"
 alt="QR code" widhtHeight="'.$widhtHeight.'" widhtHeight="'.$widhtHeight.'"/>';
    }
}
?>

效果图:


    
[3]php二维码程序的实现代码
    来源: 互联网  发布时间: 2013-12-24

php生成二维码可以有以下几种方式
1.google开放api
例子:
 

代码示例:
<?php
//google api
$url="http://phperzj.sinaapp.com/";
echo cre_QR($url);
   function cre_QR($chl,$widhtHeight ='150',$EC_level='L',$margin='0'){
     $chl=urlencode($chl);
     $qr = '</pre>
<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" />
<pre>';
   return $qr;
}
?>

参数说明如下:
http://chart.apis.google.com/chart? : 调用 Google 图表 API
cht=qr :选择生产QR码
&chs=100×100 :尺寸大小
&chld=L|4 :L代表默认纠错水平; 4代表二维码边界空白大小,可自行调节。
&chl= :二维码内容
很贴心的是这个api支持get和post

2.php类库PHP QR Code
PHP QR Code is open source (LGPL) library for generating QR Code,
2-dimensional barcode. Based on libqrencode C library,
provides API for creating QR Code barcode images (PNG, JPEG thanks to GD2).
Implemented purely in PHP, with no external dependencies (except GD2 if needed).
地址:http://phpqrcode.sourceforge.net/
下载:http://sourceforge.net/projects/phpqrcode/
说明:
To install simply include:
qrlib.php for full version (also you have to provide all library files form package plus cache dir)
OR phpqrcode.php for merged version (only one file, but slower and less accurate code because disabled cache and quicker masking configured)

Then use it as follows:
QRcode::png(‘code data text’, ‘filename.png’); // creates file
QRcode::png(‘some othertext 1234′); // creates code image and outputs it directly into browser
例子:
 

代码示例:
<?php
//PHP QR CODE
//include("phpqrcode/qrlib.php");
include("phpqrcode/phpqrcode.php");
QRcode::png("http://phperzj.sinaapp.com");
?>

3.libqrencode

地址:http://fukuchi.org/works/qrencode/index.en.html
php支持请参考:http://hirokawa.netflowers.jp/entry/4900/

4.QRcode Perl CGI & PHP scripts
地址:http://www.swetake.com/qr/qr_cgi.html


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
javascript开源软件 iis7站长之家
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3