search
HomeBackend DevelopmentPHP Tutorial php 保留远程图片到本地

php 保存远程图片到本地

    <?php    
    header('Content-Type:image/jpg');    
    echo file_get_contents("http://www.baidu.com/img/baidu_logo.gif");    
    ?> 

第一种: 精确型

   
<?php     
        
    // 变量说明:     
    // $url 是远程图片的完整URL地址,不能为空。    
    // $filename 是可选变量: 如果为空,本地文件名将基于时间和日期     
    // 自动生成.     
        
    function get_photo($url,$filename='',$savefile='test/')   
    {     
        $imgArr = array('gif','bmp','png','ico','jpg','jepg');  
      
        if(!$url) return false;  
        
        if(!$filename) {     
          $ext=strtolower(end(explode('.',$url)));     
          if(!in_array($ext,$imgArr)) return false;  
          $filename=date("dMYHis").'.'.$ext;     
        }     
      
        if(!is_dir($savefile)) mkdir($savefile, 0777);  
        if(!is_readable($savefile)) chmod($savefile, 0777);  
          
        $filename = $savefile.$filename;  
      
        ob_start();     
        readfile($url);     
        $img = ob_get_contents();     
        ob_end_clean();     
        $size = strlen($img);     
        
        $fp2=@fopen($filename, "a");     
        fwrite($fp2,$img);     
        fclose($fp2);     
        
        return $filename;     
     }     
       
      
     $img=get_photo("http://www.baidu.com/img/baidu_logo.gif");     
     echo $img ? '<pre class="brush:php;toolbar:false"><img  src="/static/imghwm/default1.png"  data-src="'.$img.'"  class="lazy".$img.'" alt=" php 保留远程图片到本地 " >
' : "false";

第二种:从文章中提取图片,并保存至本地

    function getImg($str){  
        $str = stripslashes($str);  
        $pattern = "/<img  src="/static/imghwm/default1.png"  data-src="http://img.ibtimes.com/www/site/us/images/1px.gif"  class="lazy" [^ alt=" php 保留远程图片到本地 " >]*src\=\"(([^>]*)(jpg|gif|png|bmp|jpeg))\"/i";   //获取所有图片标签的全部信息  
        preg_match_all($pattern, $str, $matches);  
            
        return $matches[1];   //$matches[1]中就是所想匹配的结果,结果为数组  
    }  
      
        $str = <<<EOT  
    Money has been moving into Brazilian stocks over the last couple of days, despite mostly flat trading activity in the U.S. equity markets. During Thursday's session, the iShares MSCI Brazil Index ETF (NYSE: EWZ) has risen 1.12% after outperforming the U.S. indices yesterday as well.  
      
    Must Read  
    SonySony Playstation Phone Rumors Heat Up  
    A South Korean Army soldier walks up steps of a guard post near the demilitarised zone separating the two Koreas.S. Korea waves olive branch  
    <img src="/static/imghwm/default1.png"  data-src="http://img.ibtimes.com/www/site/us/images/1px.gif"  class="lazy"     style="max-width:90%"  style="max-width:90%" alt="" sized="yes">  
    Two giant resource companies make up a big chunk of the Brazilian Bovespa. They are PetroBras (NYSE: PBR), with a market cap of $163.44 billion, and miner Vale (NYSE: VALE), which has a market cap of $178.95 billion. PBR shares have risen 1.47% thus far today and VALE is trading 0.77% higher at $34.03.  
    <img src="/static/imghwm/default1.png"  data-src="http://img.ibtimes.com/www/thumb/mainpage/13463-12079-sony.jpg"  class="lazy"  alt="Sony" sized="yes">  
    This article was originally published on Benzinga, and is republished here with permission.   
    EOT;  
      
      
    foreach( getImg($str) as $url)  
    {  
        get_photo($url);  
    }  

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
img文件怎么打开img文件怎么打开Sep 18, 2023 am 09:40 AM

打开img文件的方法有使用虚拟光驱软件打开、使用压缩软件打开和使用专用工具打开。详细介绍:1、使用虚拟光驱软件打开,下载并安装一个虚拟光驱软件,右键单击img文件,选择“打开方式”或“关联程序”,在弹出的对话框中选择安装的虚拟光驱软件,虚拟光驱软件会自动加载img文件,并将其作为虚拟光驱中的光盘映像,双击虚拟光驱中的光盘图标,即可打开img文件并访问其中的内容等等。

img文件如何打开img文件如何打开Jul 06, 2023 pm 04:17 PM

img文件打开的方式:1、确认img文件路径;2、使用img文件打开器;3、选择打开方式;4、查看图片;5、保存图片。img文件是一种常用的图像文件格式,通常用于存储图片数据。

PHP函数介绍—get_headers(): 获取URL的响应头信息PHP函数介绍—get_headers(): 获取URL的响应头信息Jul 25, 2023 am 09:05 AM

PHP函数介绍—get_headers():获取URL的响应头信息概述:在PHP开发中,我们经常需要获取网页或远程资源的响应头信息。PHP函数get_headers()能够方便地获取目标URL的响应头信息,并以数组形式返回。本文将介绍get_headers()函数的用法,以及提供一些相关的代码示例。get_headers()函数的用法:get_header

怎样透过几个步骤获取您的 Steam ID?怎样透过几个步骤获取您的 Steam ID?May 08, 2023 pm 11:43 PM

现在很多热爱游戏的windows用户都进入了Steam客户端,可以搜索、下载和玩任何好游戏。但是,许多用户的个人资料可能具有完全相同的名称,这使得查找个人资料或什至将Steam个人资料链接到其他第三方帐户或加入Steam论坛以共享内容变得困难。为配置文件分配了一个唯一的17位id,它保持不变,用户无法随时更改,而用户名或自定义URL可以更改。无论如何,一些用户并不知道他们的Steamid,这对于了解这一点非常重要。如果您也不知道如何找到您帐户的Steamid,请不要惊慌。在这篇文

如何在Java中使用URL编码和解码如何在Java中使用URL编码和解码May 08, 2023 pm 05:46 PM

使用url进行编码和解码编码和解码的类java.net.URLDecoder.decode(url,解码格式)解码器.解码方法。转化成普通字符串,URLEncoder.decode(url,编码格式)将普通字符串变成指定格式的字符串packagecom.zixue.springbootmybatis.test;importjava.io.UnsupportedEncodingException;importjava.net.URLDecoder;importjava.net.URLEncoder

img是什么格式img是什么格式Mar 17, 2023 am 10:33 AM

img是一种文件压缩格式,主要是为了创建软盘的镜像文件,它可以用来压缩整个软盘或整片光盘的内容;使用“.IMG”这个扩展名的文件就是利用这种文件格式来创建的;img文件包括3个基本节点,分别是“Ehfa_HeaderTag”、“Ehfa_File”和“Ehfa_Entry”。

Scrapy优化技巧:如何减少重复URL的爬取,提高效率Scrapy优化技巧:如何减少重复URL的爬取,提高效率Jun 22, 2023 pm 01:57 PM

Scrapy是一个功能强大的Python爬虫框架,可以用于从互联网上获取大量的数据。但是,在进行Scrapy开发时,经常会遇到重复URL的爬取问题,这会浪费大量的时间和资源,影响效率。本文将介绍一些Scrapy优化技巧,以减少重复URL的爬取,提高Scrapy爬虫的效率。一、使用start_urls和allowed_domains属性在Scrapy爬虫中,可

SpringBoot多controller如何添加URL前缀SpringBoot多controller如何添加URL前缀May 12, 2023 pm 06:37 PM

前言在某些情况下,服务的controller中前缀是一致的,例如所有URL的前缀都为/context-path/api/v1,需要为某些URL添加统一的前缀。能想到的处理办法为修改服务的context-path,在context-path中添加api/v1,这样修改全局的前缀能够解决上面的问题,但存在弊端,如果URL存在多个前缀,例如有些URL需要前缀为api/v2,就无法区分了,如果服务中的一些静态资源不想添加api/v1,也无法区分。下面通过自定义注解的方式实现某些URL前缀的统一添加。一、

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Atom editor mac version download

Atom editor mac version download

The most popular open source editor