当前位置:  编程技术>php
本页文章导读:
    ▪php验证码(GD库生成验证码)的例子      通过GD生成PNG图片,并把$randval随机数字赋给$_SESSION['login_check_num'],在通过用户输入的$_POST进行比较,来判断是否正确。 注意:如果服务器未开启GD库支持,需要修改php.ini文件,使php支持GD库.........
    ▪php采集远程图片的思路与实现代码      基本流程: 1、获取目标网站图片地址。 2、读取图片内容。 3、创建要保存图片的路径并命名图片名称。 4、写入图片内容。 5、完成。 我们自定义几个函数,实现采集远程图片的功能。 1.........
    ▪教你如何成为PHP编程高手?        要成为一名PHP编程高手并不容易,并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题。以.........

[1]php验证码(GD库生成验证码)的例子
    来源: 互联网  发布时间: 2013-12-24

通过GD生成PNG图片,并把$randval随机数字赋给$_SESSION['login_check_num'],在通过用户输入的$_POST进行比较,来判断是否正确。

注意:如果服务器未开启GD库支持,需要修改php.ini文件,使php支持GD库。

代码如下:

<?php
//调用生成验证码图片
//by http://www.
if($_GET["action"]=="verifycode")
{
    rand_create();
}
//生成验证码图片
function rand_create()
{
    //通知浏览器将要输出PNG图片
    Header("Content-type: image/PNG");
    //准备好随机数发生器种子 
    srand((double)microtime()*1000000);
    //准备图片的相关参数  
    $im = imagecreate(62,20);
    $black = ImageColorAllocate($im, 0,0,0);  //RGB黑色标识符
    $white = ImageColorAllocate($im, 255,255,255); //RGB白色标识符
    $gray = ImageColorAllocate($im, 200,200,200); //RGB灰色标识符
    //开始作图    
    imagefill($im,0,0,$gray);
    while(($randval=rand()%100000)<10000);{
        $_SESSION["login_check_num"] = $randval;
        //将四位整数验证码绘入图片 
        imagestring($im, 5, 10, 3, $randval, $black);
    }
    //加入干扰象素   
    for($i=0;$i<200;$i++){
        $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
        imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
    }
    //输出验证图片
    ImagePNG($im);
    //销毁图像标识符
    ImageDestroy($im);
}
//检验验证码
function rand_check()
{
    if($_POST["reg_rand"] == $_SESSION["login_check_num"]){
        return true;
    }
    else{
        exit("验证码输入错误");
    }
}
?>

您可能感兴趣的文章:
php验证码简单函数代码(附效果图)
分享一个php 验证码类及调用示例
php验证码的三个实例代码分享
一个php验证码的封装类
php自定义大小验证码的实例代码
php生成扭曲及旋转的验证码图片的实例代码
php仿QQ验证码的实现代码
php验证码函数使用的例子
php5验证码类(简易实用型)
php点击验证码实时刷新的实现代码
php图片验证码的例子
php彩色验证码的简单例子
php验证码刷新与局部刷新的实现方法
php GD库生成验证码的实例
php生成验证码的例子
php随机验证码 php生成随机验证码(图文)
一个比较稳定的php登陆系统验证码
用php生成带有雪花背景的验证码


    
[2]php采集远程图片的思路与实现代码
    来源: 互联网  发布时间: 2013-12-24

基本流程:
1、获取目标网站图片地址。
2、读取图片内容。
3、创建要保存图片的路径并命名图片名称。
4、写入图片内容。
5、完成。

我们自定义几个函数,实现采集远程图片的功能。

1、make_dir()建立目录。判断要保存的图片文件目录是否存在,如果不存在则创建目录,并且将目录设置为可写权限。

<?php
function make_dir($path){ 
    if(!file_exists($path)){//不存在则建立 
        $mk=@mkdir($path,0777); //权限 
        @chmod($path,0777); 
    } 
    return true; 
} 
?>

2、read_filetext()取得图片内容。使用fopen打开图片文件,然后fread读取图片文件内容。

<?php
function read_filetext($filepath){ 
    $filepath=trim($filepath); 
    $htmlfp=@fopen($filepath,"r"); 
    //远程 
    if(strstr($filepath,"://")){ 
        while($data=@fread($htmlfp,500000)){ 
            $string.=$data; 
        } 
    } 
    //本地 
    else{ 
        $string=@fread($htmlfp,@filesize($filepath)); 
    } 
    @fclose($htmlfp); 
    return $string; 
}
?>

3、write_filetext()写文件,将图片内容fputs写入文件中,即保存图片文件。

<?php
function write_filetext($filepath,$string){ 
    //$string=stripSlashes($string); 
    $fp=@fopen($filepath,"w"); 
    @fputs($fp,$string); 
    @fclose($fp); 
} 
?>

4、get_filename()获取图片名称,也可以自定义要保存的文件名。

<?php
function get_filename($filepath){ 
    $fr=explode()("/",$filepath); 
    $count=count($fr)-1; 
    return $fr[$count]; 
} 
?>

5、在函数save_pic()中调用,最后返回保存后的图片路径。

<?php
function save_pic($url,$savepath=''){ 
    //处理地址 
    $url=trim($url); 
    $url=str_replace()(" ","%20",$url); 
    //读文件 
    $string=read_filetext($url); 
    if(empty($string)){ 
        echo '读取不了文件';exit; 
    } 
    //文件名 
    $filename = get_filename($url); 
    //存放目录 
    make_dir($savepath); //建立存放目录 
    //文件地址 
    $filepath = $savepath.$filename; 
    //写文件 
    write_filetext($filepath,$string); 
    return $filepath; 
} 
调用save_pic()函数保存图片,测试代码:
//目标图片地址 
$pic = "http://www./1205/06/2776119_demo.jpg"; 
//保存目录 
$savepath = "images/"; 
echo save_pic($pic,$savepath); 
?>

实际应用中,可能会采集某个站点的内容,比如产品信息,包括采集防盗链的图片保存到网站上服务器上。
这时可以使用正则匹配页面内容,将页面中相匹配的图片都找出来,然后分别下载到网站服务器上,完成图片的采集。

测试代码:

<?php
function get_pic($cont,$path){ 
    $pattern_src = '/<[img|IMG].*?src=/blog_article/[/index.html'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/'; 
    $num = preg_match_all($pattern_src, $cont, $match_src); 
    $pic_arr = $match_src[1]; //获得图片数组 
    foreach ($pic_arr as $pic_item) { //循环取出每幅图的地址 
        save_pic($pic_item,$path); //下载并保存图片 
        echo "[OK]..!"; 
    } 
} 

//通过分析页面内容,将主体内容找出来,调用get_pic()实现图片的保存。
//采集一篇关于手机报道内容页的图片 
$url = "http://www./321/3215791.html"; 
$content = file_get_contents($url);//获取网页内容 
$preg = '#<div >(.*)<div ></div>#iUs'; 
preg_match_all($preg, $content, $arr); 
$cont = $arr[1][0];  
get_pic($cont,'img/'); 
?>

以上代码经测试可以采集图片,但特殊情况下未测试,比如目标网站做了302多次跳转的,目标网站做了多种防采集的,留给大家自行测试与研究。

您可能感兴趣的文章:
php采集程序代码(入门)
php写的文章采集URL补全函数(FormatUrl)
一个php文本采集类
一个比较全面的截取函数(多用于采集内容的分析)


    
[3]教你如何成为PHP编程高手?
    来源: 互联网  发布时间: 2013-12-24

  要成为一名PHP编程高手并不容易,并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题。以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则。
1、懒惰是金
2、编写漂亮的代码
3、追求程序的速度,而不是编程的速度

  懒惰是金

  程序员太忙了,所以才应该在编程时学会偷懒。对于一个程序员来说,懒惰的方法有两种:

  其一,大胆使用现成的别人的程序代码,把这些代码融入到你自己的程序或者项目中去。其二是编写一些有用的代码建立一个函数库,在将来编写程序时可以顺手拈来,省去了许多重复的劳动,自然就可以懒惰一点了。这两种偷懒的方法都非常适合PHP程序员了。

  首先,PHP是在自由开放的环境中诞生和成长的一门语言。在世界各地,有成千上万的程序员,他们一直在为PHP的完美而不断奋斗,他们也愿意和别人分享自己的聪明才智和自己编写的代码。你每天都可以从一些PHP网站、邮件列表、新闻组发现大量的优秀的程序代码。

  这样说,我并不是鼓励你整天等着让别人为你编写代码,但是你可以“站在伟人的肩膀上”,充分发扬“拿来主义”,聪明地应用别人的程序代码可以节省你大量时间。其次,在PHP中,你可以方便地建立自己的函数库,这样可以在你以后编写程序时省去很多麻烦。

  为大家介绍几个通用的函数,这些函数有的来自网上的一些开放源代码的项目,有的精选自邮件列表。

  1.通用数据库处理函数

  和其它的CGI函数相比,PHP的优点之一是具有很强大的数据库处理能力。但是,在PHP中,对于不同的数据库都使用一些特定的函数来专门处理,缺少通用的数据库处理函数。这大大降低了程序代码的可移植性,这也为初学编程的朋友带来了很多不便。

  在网上,许多程序员都通过封装类解决了这个问题。他们编写了统一的函数用来处理任何流行的数据库——不管是在Linux世界深受欢迎的Mysql还是在Windows平台上广泛流行的SqlServer。

  就笔者而言,很喜欢使用这些函数,因为可以直接使用一些简单的诸如”query”、”next_record”之类的函数,而不需要考虑数据库的连接、数据库句柄这些复杂的东西,更不需要考虑使用的是何种数据库。

    编写各种常用的函数,形成自己的个人函数库,也是一个不错的编程习惯,日积月累必有大成!

    ,祝大家早日成为技术高手、大牛!!!


    
最新技术文章:
▪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文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
unix/linux知识 iis7站长之家
▪php数组去重的函数代码示例
 


站内导航:


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

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

浙ICP备11055608号-3