保存远程图片到本地

<?php
set_time_limit(900);
$host=

$dbuser=

$dbpass=

$database=

//填写自己的mysql库连接

$strsql='Select  localPath ,fileName,id,fromUrl from news_image  where istrue=0 order by dateCreated desc  ';
//查询图片
$array1=getResultSetData($strsql);
if(count($array1)>1){
foreach($array1 as $arr)
{
$imgurl=$arr[0]."/" .$arr[1];//图片本地路径
if(file_exists($imgurl))//判断本地
{
if(filesize($imgurl)<500)//图片大小小于500bite
{
  unlink($imgurl);//删除图片

}

}
else
{
$dir=$arr[0];
mkdirm($dir);
echo "</br>".$arr[3];
$url=$arr[3];
if($fp=@fopen($url,"r"))
{
$img=GrabImage($url,$imgurl);
echo "<br>";
echo $img.': '.filesize($img).' bytes';
echo "<br>";
if(filesize($img)<500)
{
  unlink($img);

}


if($img):echo '<pre><img src="'.$img.'"></pre>';else:echo "false";endif; 
}}
}}
else
{
echo "图片都已经标记了!!";
}
function file_type($file,$type){
return eregi("/.($type)$",$file);
}
?>

 

<?
#########################
//保存远端图象
#########################
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;
}

?>

 

############################################
#获取strSql记录集存入数组中
############################################
function getResultSetData($strsql) {
global $dbuser,$dbpass,$host,$database,$printsql;

$link = mysql_connect($host,$dbuser,$dbpass);
if(! $link){
  return mysql_error();
}

mysql_select_db($database);

/*mysql_query("SET NAMES UTF8"); */
if($printsql) echo "<hr/>".$strsql."<hr/>";
$result = mysql_query($strsql);

if(mysql_num_rows($result)==0){
  mysql_close($link);
  return "";
}

while($myrow = mysql_fetch_array($result)){
      $ret[]=$myrow;    
}

mysql_close($link);
return $ret;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值