<?php
function getImage($url,$save_dir='',$filename='',$type=0){
if(trim($url)==''){
return array('file_name'=>'','save_path'=>'','error'=>1);
}
if(trim($save_dir)==''){
$save_dir='./';
}
$ext=strrchr($url,'.');
if(trim($filename)==''){//保存文件名
if($ext!='.gif'&&$ext!='.jpg'){
return array('file_name'=>'','save_path'=>'','error'=>3);
}
$filename=time().$ext;
}
if(0!==strrpos($save_dir,'/')){
$save_dir.='/';
}
//获取远程文件所采用的方法
if($type){
$ch=curl_init();
$timeout=5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$img=curl_exec($ch);
curl_close($ch);
}else{
ob_start();
readfile($url);
$img=ob_get_contents();
ob_end_clean();
}
//$size=strlen($img);
//文件大小
$save_dir = iconv("UTF-8", "GBK", $save_dir);
$filename = iconv("UTF-8", "GBK", $filename);
$fp2=@fopen($save_dir.$filename.$ext,'a');
fwrite($fp2,$img);
fclose($fp2);
unset($img,$url);
return array('file_name'=>$filename.$ext,'save_path'=>$save_dir.$filename.$ext,'error'=>0);
}
$host='****';
$root = 'user***';
$pwd = 'psd***';
$dbname = "db_***";
$url = "http://www.baidu.com";
$localPath = dirname(__FILE__)."\company1\\";
$con = new mysqli($host,$root,$pwd, $dbname);
if ($con->connect_error) {
die("连接失败: " . $con->connect_error);
}
$dept_arr = [];
$dept = "SELECT depart_name,parent_path,old_exits_id FROM `table_***` ORDER by order_id";
$dept = $con->query($dept);
while($dval =$dept->fetch_assoc()){
$dept_arr[$dval['old_exits_id']]['name'] = $dval['depart_name'];
$dept_arr[$dval['old_exits_id']]['path'] = $dval['parent_path'];
}
function company_path($dept_id)
{
global $localPath;
global $dept_arr;
if($dept_id == 0 || !array_key_exists($dept_id,$dept_arr)){
$path = $localPath."无组织机构文件夹_0\\";
}else{
$ppath = explode(',',$dept_arr[$dept_id]['path']);
array_shift($ppath);
array_pop($ppath);
$ppath = array_map(function($v) use($dept_arr){
return $dept_arr[$v]['name']."_";
},$ppath);
$path = implode("",$ppath);
$path = $localPath.$path.$dept_arr[$dept_id]['name'].'_'.$dept_id.'\\';
}
if(!is_dir(iconv("UTF-8", "GBK", $path))){
mkdir(iconv("UTF-8", "GBK", $path),0777,true);
}
return $path;
}
$isdown = file_get_contents($localPath.'log.txt');
$isdown = rtrim($isdown,',');
$userlist = "SELECT a.fullname,a.sno,a.dept,b.pic_big_path,b.init_path FROM table1_*** AS a RIGHT JOIN table2_*** AS b ON a.sno=b.sno WHERE b.init_path <> '' ORDER BY a.dept";
($isdown) && $userlist = "SELECT a.fullname,a.sno,a.dept,b.pic_big_path,b.init_path FROM table1_*** AS a RIGHT JOIN table2_*** AS b ON a.sno=b.sno WHERE a.sno NOT IN ($isdown) and b.init_path <> '' ORDER BY a.dept";
$userlist = $con->query($userlist);
while($row = $userlist->fetch_assoc()){
$init_path = '';
$sno = $row['sno'];
$rename = $row['fullname']."_".$row['sno'];
$init_path = $url.ltrim($row['init_path'],'.');
$path = company_path($row['dept']);
$ret = getImage($init_path,$path,$rename);
if(!$ret['error']){
echo $rename."下载成功!";
file_put_contents($localPath.'log.txt',$sno.',',FILE_APPEND);
}else{
echo $rename."<font color='red'>下载失败~~~~~~~~</font>";
}
echo "<hr />";
}
die();
?>
php下载远程地址图片,到创建的文件夹中
最新推荐文章于 2021-03-21 02:43:03 发布