下面是脚本文件代码:
<?php
//ignore_user_abort(true);//后台执行
set_time_limit(0);
$startTime = '2016-12-25 00:00:00';//开始时间
$endTime = '2016-12-26 00:00:00';//结束时间
$where = "SELECT 字段 FROM 表名 WHERE 条件 and time >'".$startTime."' and time < '".$endTime."' ORDER BY time desc";
//链接远程数据库
$con = mysql_connect('地址','用户名','密码');
if(!$con) die('Could not connect: ' . mysql_error());
mysql_select_db('数据库',$con);
echo 'sql:'.$where.'<br>';
$arr = getArr($where);
$num = count($arr);
echo 'num:'.$num.'<br>';
dump($arr);
//循环获取图片路径
foreach($arr as $k=>$v){
getLurl($v['图片路径'],$v['用户'],$v['id']);
}
//创建文件目录
function mkFolder($path){
if(!file_exists($path)){
mkdir($path, 0777);
}
}
//获取远程路径
function getLurl($url,$userFileName,$id){
//多图情况下先转换成数组在下载文件
if(strpos($url,',')){
$arr = explode(',',$url);
foreach($arr as $k=>$v){
$name = basename($v);
downImage($v,$userFileName,$id.'_'.$name);
}
}else{
$name = basename($url);
downImage($url,$userFileName,$id.'-'.$name);
}
}
//获取数组
function getArr($where){
//查询数据
$query = mysql_query($where);
//数组输出
$result = array();
while ($res = mysql_fetch_assoc($query)) {
$result[] = $res;
}
return $result;
}
//打印函数
function dump($str){
echo '<pre>';
var_dump($str);
echo '</pre>';
}
//下载远程图片
function downImage($url,$userFileName="",$filename='') {
$url='远程路径'.$url;
//先创建文件夹
if($userFileName){
$path = '../Download'.'/'.$userFileName;
}else{
$path = '../Download';
}
mkFolder($path);
if($url == '') {
return false; //如果 $url 为空则返回 false;
}
$ext_name = strrchr($url, '.'); //获取图片的扩展名
if($ext_name == '.php') {
return false; //格式不在允许的范围
}
if($filename == '') {
$filename = time().$ext_name; //以时间戳另起名
}
//开始捕获
ob_start();
readfile($url);
$img_data = ob_get_contents();
ob_end_clean();
$local_file = fopen($path.'/'.$filename , 'a');
fwrite($local_file, $img_data);
fclose($local_file);
return $filename;
}