PHP下载远程文件到本地存储的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP下载远程文件到本地存储的方法。分享给大家供大家参考。具体实现方法如下:

<?php
function GrabImage($url,$filename="") {
  if($url=="") return false;
  if($filename=="") {
    $ext=strrchr($url,".");
    if($ext!=".gif" && $ext!=".jpg") return false;
    $filename=date("dMYHis").$ext;
  }
  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;
}
function gethttpimage($url){ 
  if(!empty($url)){ 
    $filename=uniqid().strrchr($url,"."); 
    echo $filename;
    $get_file=@file_get_contents($url); 
    if($get_file){ 
      $fp=@fopen($filename,"w"); 
      @fwrite($fp,$get_file); 
      @fclose($fp); 
    } 
    return $imgUrl; 
  }else{ 
    return false; 
  } 
} 
//$img=GrabImage("//www.jb51.net/images/logo.gif","");
$img=gethttpimage("//www.jb51.net/images/logo.gif","");
if($img) echo '<pre><img src="'.$img.'"></pre>';
else echo "false";
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP魔术方法使用方法汇总

魔术方法是PHP面向对象中特有的特性。它们在特定的情况下被触发,都是以双下划线开头,你可以把它们理解为钩子,利用模式方法可以轻松实现PHP面向对象中重载(Overloading即动态创建...

详解php中反射的应用

反射是在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。反射是操纵面向对象...

php实现购物车功能(下)

php实现购物车功能(下)

接着上篇继续学习: 《php实现购物车的功能(上)》 7、实现一个管理界面 登录界面 由以下代码实现: 7.1 admin.php <?php /**...

PHP框架自动加载类文件原理详解

描述:公司项目PHP用作中间转发层(接收http请求,用 socket跟c++做通信),由于代码没有用到框架,这些东西自然就是之前的人自己写的。最近需要对这个底层进行优化,于是便看了下这...

php rmdir使用递归函数删除非空目录实例详解

 首先向大家介绍一下rmdir()函数。 php rmdir()函数 rmdir — 删除空目录 语法: bool rmdir ( string $dirname [, res...