首页 > 其他 > 详细

抓取远程图片到本地

时间:2017-02-05 23:04:45      阅读:369      评论:0      收藏:0      [点我收藏+]
strrchr()定义和用法

strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。

注释:该函数是二进制安全的。

 

 

语法

strrchr(string,char)
参数描述
string 必需。规定要搜索的字符串。
char 必需。规定要查找的字符。如果该参数是数字,则搜索匹配此数字的 ASCII 值的字符。

例子 1

搜索 "What" 在字符串中的位置,并返回从该位置到字符串结尾的所有字符:

1 <?php
2 echo strrchr("Hello world! What a beautiful day!",What);
3 ?>

输出结果

1 What a beautiful day! 

例子 2

以 "o" 的 ASCII 值搜索 "o" 在字符串中的位置,并返回从该位置到字符串结尾的所有字符:

1 <?php
2 echo strrchr("Hello world!",101);
3 ?>

输出结果

ello world! 

 

 

 

 

 1 <?php
 2 function getImage($url,$filename=""){
 3 
 4     if($url == "") return false;
 5     if($filename===""){
 6         $ext_name=strrchr($url,‘.‘) //获取图片的扩展名
 7         if($ext_name!=‘.gif‘&& $ext_name!=‘.jpg‘ && $ext_name!=‘.bmp‘ && $ext_name!=‘.png‘) return false;
 8         $filename=time().$ext_name;
 9 
10     }
11     //开始捕获
12     //文件 保存路径
13     ob_start();
14     /*
15      * ob_start()在服务器打开一个缓冲区来保存所有的输出。
16      * 所以在任何时候使用echo ,输出都将被加入缓冲区中,
17      * 直到程序运行结束或者使用ob_flush()来结束。
18      * 然后在服务器中缓冲区的内容才会发送到浏览器,由浏览器来解析显示。
19      *
20      * 使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。
21      */
22     readfile($url);
23     /*
24      * readfile() 函数输出一个文件。
25      *该函数读入一个文件并写入到输出缓冲。
26      */
27     $img_date=ob_get_contents();
28     /*
29      * 然后用ob_get_contents得到缓冲区的数据。
30      */
31     ob_end_clean();
32     /*
33      * 函数ob_end_clean 会清除缓冲区的内容,并将缓冲区关闭,但不会输出内容。
34      */
35     $size=strlen($img_date);
36     //文件大小
37     $local_file=fopen($filename,‘a‘);
38     fwrite($local_file,$img_date);
39     fclose($local_file);
40     return $filename;
41 }

 

 

PHP readfile() 函数

定义和用法

readfile() 函数输出一个文件。

该函数读入一个文件并写入到输出缓冲。

若成功,则返回从文件中读入的字节数。若失败,则返回 false。您可以通过 @readfile() 形式调用该函数,来隐藏错误信息。

 

语法

readfile(filename,include_path,context)
参数描述
filename 必需。规定要读取的文件。
include_path 可选。如果也想在 include_path 中搜索文件,可以使用该参数并将其设为 true。
context 可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

说明

context 参数的支持是 PHP 5.0.0 添加的。

提示和注释

提示:如果在 php.ini 文件中 "fopen wrappers" 已经被激活,则在本函数中可以把 URL 作为文件名来使用。

例子

<?php
echo readfile("test.txt");
?>

输出:

There are two lines in this file.
This is the last line.
57



1 <?php 
2 $img = file_get_contents(‘http://www.xfcodes.com/ img/baidu_logo.gif‘); 
3 file_put_contents(‘1.gif‘,$img); 
4 echo ‘<img src="1.gif">‘; 
对该函数的详细信息可访问http://www.w3cschool.cn/php/func-filesystem-file-get-contents.html





 

抓取远程图片到本地

原文:http://www.cnblogs.com/gengyi/p/6368694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!