保存远程图片到本地服务器几种方法[php,asp]

function get_file($url,$folder){   
set_time_limit (24 * 60 * 60);   
  
$destination_folder = $folder?$folder.'/':'';//文件下载保存目录   
    
  
$newfname = $destination_folder . basename($url);   
$file = fopen ($url, "rb");   
if ($file) {   
$newf = fopen ($newfname, "wb");   
if ($newf)   
while(!feof($file)) {   
fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 );   
}   
}   
if ($file) {   
fclose($file);   
}   
if ($newf) {   
fclose($newf);   
}   
}   

//php教程 方法二

// $url 是远程图片的完整url地址,不能为空。
// $filename 是可选变量: 如果为空,本地文件名将基于时间和日期
// 自动生成. 
 

function grabimage($url,$filename="") {
if($url==""):return false;endif;
 
if($filename=="") {
$ext=strrchr($url,".");
if($ext!=".gif" && $ext!=".jpg"):return false;endif;
$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;
}
 
$img=grabimage("yun_qi_img/000003.png","www.111cn.net.png");
if($img):echo '<pre><img src="'.$img.'"></pre>';
else:echo "false";
endif;

//fopen下载远程文件的函数:传入远程url和需要存储下载文件的文件夹名,结尾无需反斜线

//asp教程保存远程服务器图片
/*

sub saveremotefile(localfilename,remotefileurl)
dim ads,retrieval,getremotedata
set retrieval = server.createobject("microsoft.xmlhttp")
with retrieval
.open "get", remotefileurl, false, "", ""
.send
getremotedata = .responsebody
end with
set retrieval = nothing
set ads = server.createobject("adodb.stream")
with ads
.type = 1
.open
.write getremotedata
.savetofile localfilename,2
.cancel()
.close()
end with
set ads=nothing
end sub

remotefileurl = "" '获取远程图片
fileext = right(remotefileurl,4) '获取远程图片的格式

'随机文件名称
randomize
rannum = int(9*10^3*rnd)+10^3
dtnow = now()
filename = year(dtnow) & right("0" & month(dtnow),2) & right("0" & day(dtnow),2) & right("0" & hour(dtnow),2) & right("0" & minute(dtnow),2) & right("0" & second(dtnow),2) & rannum & fileext

localfilename = "./" '保存本地路径
if right(localfilename,1) <> "/" then localfilename = localfilename & "/"
savefile = server.mappath(localfilename & filename)
saveremotefile savefile,remotefileurl '保存远程图片
response.write "保存成功,<a href=""" & localfilename & filename & """ target=""_blank"">点击查看图片文件....</a>"

 

*/

//方法三
/*保存图片函数*/       
      

  function saveimage($url) //保存url中的图片文件到本地的imges文件夹下,名称不变,返回图片的路径和名称       
        {       
            if($url==""):return false;endif;       
            /*保存路径*/      
            $path="movieimg/".date('y-m-d'); //保存路径       
            if(!file_exists($path))       
            {       
            //检查是否有该文件夹,如果没有就创建,并给予最高权限       
            mkdir("$path", 0700);       
            }       
      
            $name=strrchr($url,"/");       
            $filename=$path.$name;       
      
            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;       
        }

?>

时间: 2024-10-05 08:25:45

保存远程图片到本地服务器几种方法[php,asp]的相关文章

ASPX保存远程图片到本地的两种方法的函数

  Function UpRemoteFileToLocal(ByVal UpType As String, ByVal RemoteUrl As String, ByVal LocalFile As String) As Boolean        Dim TmpResult As Boolean = False        Select Case UpType       Case "xmlhttp"           'With MSXML2           Dim m

ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码_应用技巧

采集中 或者 在线添加文章中 都可以用到此功能 俺自己在baidu上搜索的保存远程图片到本地的代码 感觉比较难用点 而且没有现成的比较全的代码 俺也看不懂 俺从 SNA新闻采集系统 For 3.62 (程序制作:ansir)里提取了点函数 用下 比较简单好用 以下是函数 程序代码  复制代码 代码如下: <% '================================================== '函数名:CheckDir2 '作 用:检查文件夹是否存在 '参 数:FolderP

PHP判断远程图片是否存在的几种方法

  这篇文章主要介绍了PHP判断远程图片是否存在的几种方法,需要的朋友可以参考下 在做一个图片预览中图的东西,遇到一个问题,就是要判断远程文件是否存在(不是同一台服务器). 代码如下: 代码如下: //方法一 function file_exists($url) { $ch = curl_init(); curl_setopt($ch, curlopt_url,$url); curl_setopt($ch, curlopt_nobody, 1); // 不下载 curl_setopt($ch,

ASP保存远程图片到本地,并生成缩略图

ASP通过XMLHTTP获取远程图片流数据,并保存到本地,把第一张采集到的图片生成缩略图. 具体代码如下: <% '================================================== '函数名:CheckDir2 '作 用:检查文件夹是否存在 '参 数:FolderPath ------文件夹地址 '================================================== Function CheckDir2(byval Folder

ASP保存远程图片到本地 同时取得第一张图片

这是本人在SNA新闻采集系统 For 动力3.62 里使用的几个函数可以普遍的使用在采集 或者 在线添加文章中以下是函数程序代码<%'=================================================='函数名:DefiniteUrl'作 用:将相对地址转换为绝对地址'参 数:PrimitiveUrl ------要转换的相对地址'参 数:ConsultUrl ------当前网页地址'=======================================

ASP分析内容自动保存远程图片到本地并取得第一张图片创建缩略图

俺从SNA新闻采集系统 For 3.62 (程序制作:ansir)里提取了点函数 用下 比较简单好用 以下是函数 程序代码 <% '================================================== '函数名:CheckDir2 '作 用:检查文件夹是否存在 '参 数:FolderPath ------文件夹地址 '================================================== Function CheckDir2(byva

php下保存远程图片到本地的办法_php技巧

今天在整理资料的时候发现以前找到的一个函数,通过这个函数我们就可以实现上面的功能. 主要函数: 复制代码 代码如下: function GrabImage($url,$filename="") { if($url=="") return false; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!=&q

PHP判断远程图片是否存在的几种方法_php技巧

在做一个图片预览中图的东西,遇到一个问题,就是要判断远程文件是否存在(不是同一台服务器).代码如下: 复制代码 代码如下: //方法一function file_exists($url){$ch = curl_init();curl_setopt($ch, curlopt_url,$url);curl_setopt($ch, curlopt_nobody, 1); // 不下载curl_setopt($ch, curlopt_failonerror, 1);curl_setopt($ch, cu

保存远程图片函数修改正版

函数 趁今天有空,修正了一下这个函数,经测试,在本地服务器通过,在空间商服务器也可正常使用,没发现错误.我的卡巴斯基不报毒了.^_^ 只要修改一下,这个函数是放在哪个网站都适用的.在此只与添加图片为例说明一下调用方法,其它位置方法类似. 在我本机测试成功,由于现在连不上空间的FTP,所以无办在空间上测试,发现问题请到群中提出. 一.把下面函数放到Ft_admin_conn.asp的最后 '=================================='=函 数 名:saveimgfile'