热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php下载curl获取远程图片,php获取远程文件

本文目录一览:1、PHPCURL获取远程数据下载

本文目录一览:


  • 1、PHP CURL 获取远程数据下载


  • 2、curl获取远程图片时,如何设置本地保存路径?


  • 3、php 用CURL 抓取图片

PHP CURL 获取远程数据下载

这样做肯定是用的你的带宽,是把文件下载到你的服务器上,然后再下载给客户端。

有两条路你可以去试试看,我没做过:一是setCOOKIE指定域名是那个网站,然后转向:

setCOOKIE ($cname ,$cvalue ,$expire ,$path , $host);

header('location: $url");

另外一个方法类似,好像有个P3P可以传递COOKIE,需要你自己查资料:

setCOOKIE ($cname ,$cvalue);

header('P3P: ....');

header('location: $url");

第二个办法应该是可以的,陶宝和开心网都在用这样的技术,陶宝有许多域名,一次登录后都可以使用,就是利用P3P实现的COOKIE传递。

curl获取远程图片时,如何设置本地保存路径?

设置保存路径

define('IMAGE_DIR', 'c:\\xampp\\htdocs\\scraper\\image\\');

保存图片函数。

$imageUrl = 你要的图片的url

$imageType = 你要的图片保存的格式

saveImage($imageUrl, $imageType = 'IMAGETYPE_GIF') {

if (!file_exists(IMAGE_DIR)) {

mkdir(IMAGE_DIR, 0777, true);

}

if( $imageType === IMAGETYPE_JPEG ) {

$fileExt = 'jpg';

} elseif ( $imageType === IMAGETYPE_GIF ) {

$fileExt = 'gif';

} elseif ( $imageType === IMAGETYPE_PNG ) {

$fileExt = 'png';

}

$newImageName = md5($imageUrl). '.' . $fileExt;

$image = new Image();

$image-load($imageUrl);

$image-resizeToWidth(100);

$image-save( IMAGE_DIR . $newImageName, $imageType );

return $newImageName;

}

这是我的图片类,保存前可转换格式,图片大小。

?php

class Image {

private $_image;

private $_imageFormat;

public function load($imageFile) {

$imageInfo = getImageSize($imageFile);

$this-_imageFormat = $imageInfo[2];

if( $this-_imageFormat === IMAGETYPE_JPEG ) {

$this-_image = imagecreatefromjpeg($imageFile);

} elseif( $this-_imageFormat === IMAGETYPE_GIF ) {

$this-_image = imagecreatefromgif($imageFile);

} elseif( $this-_imageFormat === IMAGETYPE_PNG ) {

$this-_image = imagecreatefrompng($imageFile);

}

}

public function save($imageFile, $_imageFormat=IMAGETYPE_JPEG, $compression=75, $permissiOns=null) {

if( $_imageFormat == IMAGETYPE_JPEG ) {

imagejpeg($this-_image,$imageFile,$compression);

} elseif ( $_imageFormat == IMAGETYPE_GIF ) {

imagegif($this-_image,$imageFile);

} elseif ( $_imageFormat == IMAGETYPE_PNG ) {

imagepng($this-_image,$imageFile);

}

if( $permissions != null) {

chmod($imageFile,$permissions);

}

}

public function getWidth() {

return imagesx($this-_image);

}

public function getHeight() {

return imagesy($this-_image);

}

public function resizeToHeight($height) {

$ratio = $height / $this-getHeight();

$width = $this-getWidth() * $ratio;

$this-resize($width,$height);

}

public function resizeToWidth($width) {

$ratio = $width / $this-getWidth();

$height = $this-getheight() * $ratio;

$this-resize($width,$height);

}

public function scale($scale) {

$width = $this-getWidth() * $scale/100;

$height = $this-getheight() * $scale/100;

$this-resize($width,$height);

}

private function resize($width, $height) {

$newImage = imagecreatetruecolor($width, $height);

imagecopyresampled($newImage, $this-_image, 0, 0, 0, 0, $width, $height, $this-getWidth(), $this-getHeight());

$this-_image = $newImage;

}

}

?

php 用CURL 抓取图片

preg_match('@p\.php\?p=(.*)@Ui', $url, $url);//获取图片地址

if(isset($url[1]))

$url=$url[1];

else

$url='';

if($url):

//curl抓取图片过程

$ch = curl_init();

if (defined('CURLOPT_IPRESOLVE') defined('CURL_IPRESOLVE_V4')) {

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

}

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

$cOntent= curl_exec($ch);

$info = curl_getinfo($ch);

curl_close($ch);

if ($info['http_code'] != 200)

$cOntent= NULL;

if($content)//保存图片到本地

@file_put_contents ('存放地址', $content);

endif;


推荐阅读
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 如何高效创建和使用字体图标
    在Web和移动开发中,为什么选择字体图标?主要原因是其卓越的性能,可以显著减少HTTP请求并优化页面加载速度。本文详细介绍了从设计到应用的字体图标制作流程,并提供了专业建议。 ... [详细]
  • 本文介绍如何使用 Python 提取和替换 .docx 文件中的图片。.docx 文件本质上是压缩文件,通过解压可以访问其中的图片资源。此外,我们还将探讨使用第三方库 docx 的方法来简化这一过程。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 探讨如何正确使用 Fetch API 进行参数传递,分析不同写法的差异及解决方案。 ... [详细]
author-avatar
一加一等于贰_661
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有