PHP采集图片实例(PHP采集)
以下为引用的内容:
/**
* 采集图片php程序
*
* Copyright(c) 2008 by 小超(ccxxcc) All rights reserved
*
* To contact the author write to {@link mailto:ucitmc@163.com}
*
* @author ccxxcc
* @version $Id: {filename},v 1.0 {time} $
* @package system
*/
set_time_limit(0);
/**
* 写文件
* @param string $file 文件路径
* @param string $str 写入内容
* @param char $mode 写入模式
*/
function wfile($file,$str,$mode='w')
{
$oldmask = @umask(0);
$fp = @fopen($file,$mode);
@flock($fp, 3);
if(!$fp)
{
Return false;
}
else
{
@fwrite($fp,$str);
@fclose($fp);
@umask($oldmask);
Return true;
}
}
function savetofile($path_get,$path_save)
{
@$hdl_read = fopen($path_get,'rb');
if($hdl_read == false)
{
echo("<span style='color:red'>$path_get can not get</span>");
Return ;
}
if($hdl_read)
{
@$hdl_write = fopen($path_save,'wb');
if($hdl_write)
{
while(!feof($hdl_read))
{
fwrite($hdl_write,fread($hdl_read,8192));
}
fclose($hdl_write);
fclose($hdl_read);
return 1;
}
else
return 0;
}
else
return -1;
}
function getExt($path)
{
$path = pathinfo($path);
return strtolower($path['extension']);
}
/**
* 按指定路径生成目录
*
* @param string $path 路径
*/
function mkDirs($path)
{
$adir = explode('/',$path);
$dirlist = '';
$rootdir = array_shift($adir);
if(($rootdir!='.'||$rootdir!='..')&&!file_exists($rootdir))
{
@mkdir($rootdir);
}
foreach($adir as $key=>$val)
{
if($val!='.'&&$val!='..')
{
$dirlist .= "/".$val;
$dirpath = $rootdir.$dirlist;
if(!file_exists($dirpath))
{
@mkdir($dirpath);
@chmod($dirpath,0777);
}
}
}
}
/**
* 从文本中取得一维数组
*
* @param string $file_path 文本路径
*/
function getFileListData($file_path)
{
$arr = @file($file_path);
$data = array();
if(is_array($arr) && !empty($arr))
{
foreach($arr as $val)
{
$item = trim($val);
if(!empty($item))
{
$data[] = $item;
}
}
}
Return $data;
}
//采集开始
//传入自己的需要采集的图片url列表文本文件 每个图片url写一行
$url_file = isset($_GET['file'])&&!empty($_GET['file'])?$_GET['file']:null;
$txt_url = "txt/".$url_file;
$urls = array_unique(getFileListData($txt_url));
if(empty($urls))
{
echo('<div style="color:red">无链接地址</div>');
die();
}
$save_url = "images/".date("y_m_d",time())."/";
mkDirs($save_url); //按日期建立文件夹
$i = 1;
if(is_array($urls)&&count($urls))
{
foreach($urls as $val)
{
savetofile($val,$save_url.date("His",time())."_".$i.".".getExt($val));
echo($i.".".getExt($val)." got\n");
$i++;
}
}
echo('<div style="color:green">finish</div>');
?>
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:站长之家编辑
链接:https://www.chinaz.com/program/2008/1017/41142.shtml
来源:站长之家
PHP采集图片实例(PHP采集)的更多相关文章
- Python查询MySQL进行远程采集图片实例
这是四五年以前做小说站采集图片时写过唯一一次 Python 代码 #!/usr/bin/python #-*-coding:utf-8-*- import MySQLdb, os, socket, t ...
- php正则获取html图片标签信息(采集图片)
php获取html图片标签信息(采集图片),实现图片采集及其他功能,带代码如下: <?php $str="<img src='./a.jpg'/>111111<img ...
- 使用file_get_content系列函数和使用curl系列函数采集图片的性能对比
由于公司的一个汽车网站的后台的汽车内容都是主要是来自与汽车之家的,编辑的同事们必须天天手动去对着汽车之家来添加汽车,实在是太蛋疼了.于是乎,为了改变这种状况,作为一个开发码农,我的任务就来了...那就 ...
- Linux 下V4l2摄像头采集图片,实现yuyv转RGB,RGB转BMP,RGB伸缩,jpeglib 库实现压缩RGB到内存中,JPEG经UDP发送功(转)
./configure CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld --host=arm-linux --prefix=/usr/loca ...
- 六大免费网站数据采集器对比(火车头,海纳,云采集,ET,三人行,狂人采集)
2013年02月27日 PHP开源系统 暂无评论 阅读 497 views 次 在目前的站长圈内,比较流行的采集工具有很多,但是总结起来,比较出名的免费的就这么几个:火车头,海纳,云采集,ET,三人行 ...
- WebUploader实现采集图片的功能
项目最开始用百度团队的文件上传组件做了个物料照片采集的功能,后来做员工头像采集时竟然不知道怎么使用了. 参照官方Demo: http://fex.baidu.com/webuploader/getti ...
- thinkphp5使用querylist采集图片示例
首先composer引入querylist composer require jaeger/querylist 注意需要php7.0以上版本 <?php namespace app\index\ ...
- laravel 登录+中间件拦截+红柚小说网小说采集+图片本地化
.......................登录界面 <!doctype html> <html lang="en"> <head> < ...
- python多线程采集图片
cmd中运行 >python untitled2.py 图片的网站 import requests import threading from bs4 import BeautifulSo ...
- 基于V4L2摄像头采集图片程序设计
#ifndef __COMMON_H #define __COMMON_H //该头文件定义的是摄像头在屏幕上显示的宽度和高度 #include<stdio.h> #include< ...
随机推荐
- Jenkins+Coverage的代码覆盖率集成实践
Jenkins+Coverage的代码覆盖率集成实践 一.工具介绍 Jenkins: Jenkins是一个开源的.基于Java开发的持续集成工具,它可以帮助开发人员自动化构建.测试和部署软件项目. C ...
- Markdown文件上传到博客图片处理
Markdown文件上传到博客图片处理 在本地编写Markdown文章并准备上传到博客园时,经常会遇到的一个挑战是本地图片无法直接显示,因为它们存储在本地文件系统中.为了解决这个问题,有两种常见的策略 ...
- Sdcb Chats 重磅更新:深度集成 DeepSeek-R1,思维链让 AI 更透明!
Sdcb Chats 是一个强大且易于部署的 ChatGPT 前端,旨在帮助用户轻松接入和管理各种主流的大语言模型. Sdcb Chats 主要特性: 广泛的大模型支持: 已支持 15 种不同的大语言 ...
- Iceberg metrics导致的问题
一.问题描述 在iceberg rewrite时报错:org.apache.iceberg.exceptions.ValidationException: Cannot commit, found n ...
- presto集成iceberg
一.Presto服务下新建catelog cd /usr/local/service/presto/etc/catalog vim iceberg.properties connector.name= ...
- C盘扩展卷碰到的那些事-->不是同一块物理磁盘操作扩展卷是有坑的
自己电脑上面用过win10系统资源管理器扩展卷的功能,用过几次都成功扩容了磁盘空间,简单说一下原理: 就是将剩余未分配的磁盘空间划给要扩展的磁盘. 这天公司的电脑C盘老是红色提示空间不足,那就扩充容量 ...
- java list集合去重的两种方式
- MD5 - windows也可以查询某个文件的MD5码
命令格式 certutil -hashfile 文件名称 md5 示例 Microsoft Windows [版本 10.0.22621.1702] (c) Microsoft Corporation ...
- 07_读写文件open(filename, mode, encoding=None)
读写文件open(filename, mode, encoding=None) mode mode 权限 r 只读 w 只写(会从头开始覆盖覆盖写当前文件内容) a 追加写(从文件内容的末尾追加写内容 ...
- 2022美亚杯个人赛wp(纯文字思路)
2022美亚杯个人赛wp(纯文字思路) vc镜像密码CZDGm#&2_Ns$7wSMn%ZGr7xntcHS7d5uFta#Up9544jx_cvP$uFM7?pTDa*jN&QyFD ...