PHP批量查询数据库下载远程文件脚本实例
生活随笔
收集整理的這篇文章主要介紹了
PHP批量查询数据库下载远程文件脚本实例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
下面是腳本文件代碼:
<?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; }總結
以上是生活随笔為你收集整理的PHP批量查询数据库下载远程文件脚本实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第28课 叮叮当当 《小学生C++趣味编
- 下一篇: python的cmd下小白开发应用教程