PHP图片采集简陋程序,各位大神拍砖轻点

<?php
$img =array(
    ‘jpg‘,
    ‘png‘,
    ‘gif‘,
    ‘bmp‘,
    ‘psd‘,
    ‘tif‘,
    ‘jpeg‘,
);
//$url = ‘http://www.3lian.com/down/pic/index_(2,5).html‘;
$url = ‘http://image.baidu.com/i?tn=baiduimage&ct=201326592&cl=2&lm=-1&st=-1&fm=result&fr=&sf=1&fmq=1348625333024_R&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&word=%BA%E1%B7%F9‘;
$prel = ‘/\([0-9]+,[0-9]+\)/i‘;
$myurl;
if(preg_match($prel,$url,$arr)){
    $temp = substr($arr[0],1,strlen($arr[0])-2);
    $mymunber = explode(‘,‘,$temp);
    $temparr = explode($arr[0],$url);
    for($i=$mymunber[0];$i<=$mymunber[1];$i++){
        $myurl[] = $temparr[0].$i.$temparr[1];
    }
}else{
    $myurl = $url;
}
/* echo "<pre>";
print_r($myurl);
echo "</pre>"; */

$prel = ‘/(?:http?|https?):\/\/(?:[^\.\/\(\)\?]+)\.(?:[^\.\/]+)\.(?:com|cn|net|org)\/(?:[^\.:\"\‘\(\)\?]+)\.(jpg|png|gif)/i‘;
if(is_array($myurl)){
    $arr = array();
    $imgkey = array();
    foreach($myurl as $value){
        $code = file_get_contents($value);
        preg_match_all($prel,$code,$arrimg);
        $arr = array_merge($arr,$arrimg[0]);
        $imgkey = array_merge($imgkey,$arrimg[1]);
    }
    set_time_limit(0);
    if(!empty($arr)){
        echo ‘<pre>‘;
        print_r($arr);
        echo ‘</pre>‘;
        foreach($arr as $key=>$value){
            list($w,$h,$t,$a) = getimagesize($value);
            if($w<930 || $h<200){
                continue;
            }
            ob_start();
            readfile($value);
            $obj = ob_get_contents();
            ob_end_clean();
            $dir = ‘F:/php/‘;
            if(!is_dir($dir)){
                mkdir($dir,0777);
            }
            $filename = $dir.date(‘Ymd‘).rand(10000,99999).‘.‘.$imgkey[$key];
            $file = file_get_contents($value);
            $fo = @fopen($filename,‘a‘);
            $fw = fwrite($fo,$obj);
            if(in_array($imgkey[$key],$img)){
                echo ‘<img src="‘.$value.‘" />‘;
            }
        }
    }
}else{
    $code = file_get_contents($url);
    set_time_limit(0);
    if(preg_match_all($prel,$code,$arrimg)){
        echo ‘<pre>‘;
        print_r($arrimg);
        echo ‘</pre>‘;
        foreach($arrimg[0] as $key=>$value){
            list($w,$h,$t,$a) = @getimagesize($value);
            if($w<300 || $h<200){
                continue;
            }
            ob_start();
            readfile($value);
            $obj = ob_get_contents();
            ob_end_clean();
            $dir = ‘F:/php/‘;
            if(!is_dir($dir)){
                mkdir($dir,0777);
            }
            $filename = $dir.date(‘Ymd‘).rand(10000,99999).‘.‘.$arrimg[1][$key];
            $file = file_get_contents($value);
            $fo = @fopen($filename,‘a‘);
            $fw = fwrite($fo,$obj);
            if(in_array($arrimg[1][$key],$img)){
                echo ‘<img src="‘.$value.‘" />‘;
            }
        }
    }
}
echo ‘<script>alert("采集完成!")</script>‘;

?>
时间: 2024-11-07 22:35:46

PHP图片采集简陋程序,各位大神拍砖轻点的相关文章

十句程序员大神们的经典语录

10.“If debugging is the process of removing software bugs, then programming must be the process of putting them in.”  —— E.W. Dijkstra 如果调试程序是移除 bug 的过程,那编写程序就是把 bug 放进来的过程.—— 迪杰 · 斯特拉 9.“The first 90% of the code accounts for the first 90% of the de

购物车程序--欢迎大神提建议

# 配套程序,需要创建一个锁文件lock.txt,记录用户名密码的文件shopping_pw.txtuserSaveMoney = 0 # 定义全局变量,用户起始账户余额为0def Recharge(): # 充值函数 global userSaveMoney userInputMoney = int(input("请输入您要存入的金额:")) userSaveMoney += userInputMoney print("您充入的金额为:%d"%userSaveMo

这个程序词索引表的程序 求大神指点错误在哪里

#include < stdio.h >#include < stdlib.h >#include < string.h >#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -1#define MaxBookNum 1000 //假设只对1000本书建立索引表#define MaxKeyNum 2500 //索引表的最大容量#define MaxLineLen 500 //书

每一个程序员都应该知道的高并发处理技巧、创业公司如何解决高并发问题、互联网高并发问题解决思路、caoz大神多年经验总结分享

本文来源于caoz梦呓公众号高并发专辑,以图形化.松耦合的方式,对互联网高并发问题做了详细解读与分析,"技术在短期内被高估,而在长期中又被低估",而不同的场景和人员成本又导致了巨头的方案可能并不适合创业公司,那么如何保证高并发问题不成为创业路上的拦路虎,是每一个全栈工程师.资深系统工程师.有理想的程序员必备的技能,希望本文助您寻找属于自己的"成金之路",发亮发光. 目录: 场景及解决方法解读 认识负载 数据跟踪 脑图.caoz大神公众号分享 参考资料 秉承知其然及其

一个大神程序员的使命感究竟应该是什么

来源:一个大神程序员的使命感究竟应该是什么 工作了五年的工程师,算不算高级开发者?归类开发者不是简单地看工作年限,因为经验这种东西千金难换但又一文不值. 我们现在工作的行业很奇怪.明明每年都有新的从业人员涌入人才市场,但企业依旧诉苦自己迫切需要大量的开发.这种问题存在已久,而且已经越发严峻. 开发者这个行业非常年轻,也面临着很严重的人才短缺问题.大部分的软件开发项目无疾而终,原因是后期开支过于庞大.那些行业里的大佬是怎么建议我们 的,他们说「世界上永远存在解决问题的办法,但我们还是会遇到各种难题

&quot;菜鸟&quot;与大神程序员之间的差别(转载)

前段时间看到一篇文章,写得很好,针对菜鸟与大神之间的差别做了很客观.很透彻的分析,现在将文章转载过来,原文地址:http://www.apkbus.com/forum.php?mod=viewthread&tid=239356&highlight=%E8%8F%9C%E9%B8%9F “菜鸟”和“大神” 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术 的东西.首先请您先想想这几个问题.现在社会上有很多程序员,CSDN就是我们程序员的家,那您是否可想过程序员为什么会有

学会思考--菜鸟程序员晋升大神之路

"菜鸟"和"大神" 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术的东西.首先请您先想想这几个问题.现在社会上有很多程序员,那您是否可想过程序 员为什么会有不同的水平?你又是哪一类的程序员?"菜鸟"程序员和"大神"程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里? 上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案.确切的说程序员分为"菜鸟"

“菜鸟”程序员和“大神”程序员差距在哪里

“菜鸟”和“大神” 刚刚走出就业的程序员,技术是刚刚起步的基点.那下面我们就聊一聊有关技术的东西.首先请您先想想这几个问题.现在社会上有很多程序员,CSDN就是我们程序员的家,那您是否可想过程序员为什么会有不同的水平?你又是哪一类的程序员?“菜鸟”程序员和“大神”程序员差在哪里?真是差在技术上了吗?那不是差在技术上那差在了哪里? 上面很多一连串的问题,没有把你搞晕吧!那就听我一一给您分析这个问题背后的答案.确切的说程序员分为“菜鸟”程序员和“大神”程序员. 一个程序员有多优秀,就得看他写的代码!

【同行说技术】Android程序员从小白到大神必读资料汇总(四)

在文章<Android程序员从小白到大神必读资料汇总(一)和(三)>里面介绍了基础学习资料和一点点的进阶资料,今天小编收集了5篇带有实例干货的资料,赶紧来看看吧!另外,喜欢写博客的博主可以申请加工程师博主交流群:391519124,分享你的博文,和大牛们一起交流技术 ~ 一.Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题,本篇详细总结了如何防止内存泄露,满满的干货 二.理解Android安全机制 从Android系统架构着手,分析And