亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php下載遠程文件的源碼介紹

2020-03-22 17:28:26
字體:
來源:轉載
供稿:網友

本篇文章給大家帶來的內容是關于php下載遠程文件的源碼介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

最近遇到下載pdf格式的文件存在問題 下載后看不了還有下載不了的問題

大致思路是將文件先從遠程下載后 再讀取下載到用戶本地電腦 再將文件刪除 不多說了 直接貼源碼

遠程文件的命名 最好使用英文數字組合 ,不要用中文命名 總會遇到你想不到的問題

里面也包括壓縮下載 具體 大家看源碼 研究吧

 ?phpset_time_limit(0);//允許下載的url$allowed_url = [ // 允許的url//$file_urls = post( file_urls $file_urls = //遠程文件路徑$file_url_arr = explode( , , $file_urls);$file_url_arr = array_unique($file_url_arr); // 過濾相同url//foreach ($file_url_arr as $key = $val) {// $url_arr = parse_url($val);// if (!isset($url_arr[ host ]) || !in_array($url_arr[ host ], $allowed_url)) {// unset($file_url_arr[$key]);if (empty($file_url_arr)) { $output = array( status = 2, code = 999, error = 未找到合法url , exit(json_encode($output));$download_dir = ROOT. download .DIRECTORY_SEPARATOR;if(!file_exists($download_dir)) mkdir($download_dir, 0777, true);$tmp_dir = $download_dir.time().rand(100, 999).DIRECTORY_SEPARATOR; // 文件臨時存放目錄$downloader = new fileDownloader();if($file_url_arr !empty($file_url_arr)) $downloader- download($tmp_dir, $file_url_arr); // 下載文件$file_lists = scandir($tmp_dir);$file_lists = array_diff($file_lists, [ . , .. $file_lists = array_html' target='_blank'>values($file_lists); // 重置索引if(empty($file_lists)){ $output = array( status = 2, code = 999, error = 無下載文件 , exit(json_encode($output));//if (count($file_lists) 1) { // 如果是多個文件就壓縮// $file_name = $downloader- compress($tmp_dir, $subject_title);//} else { $file_name = $file_lists[0]; // 如果是單個文件就直接輸出$file_headers = get_headers($file_urls, 1);header( Cache-Control: public header( Content-Description: File Transfer //header( Content-disposition: attachment; filename= .basename($file_name)); //文件名header( Content-Type: .$file_headers[ Content-Type //zipheader( Content-Transfer-Encoding: binary //二進制文件header( Content-Length: . filesize($tmp_dir.$file_name)); //文件大小$user_agent = $_SERVER[ HTTP_USER_AGENT $encoded_name = rawurlencode($file_name);if (preg_match( /Firefox/ , $user_agent)) { //火狐瀏覽器 header( Content-Disposition: attachment; filename*=utf-8/ / .$encoded_name);} else { // IE, 谷歌瀏覽器 header( Content-Disposition: attachment; filename= . $file_name . ob_clean();flush();@readfile($tmp_dir.$file_name);$downloader- deleteDir($tmp_dir);//文件下載類class fileDownloader{ // 下載文件 // $dir 文件存放地址,絕對路徑 // $urls 文件下載地址 public function download($dir, $urls = array()){ if (!file_exists($dir)) { mkdir($dir, 0777, true); if (empty($urls)) { return; foreach ($urls as $val) { $file_name_arr = explode( / , $val); // 使用 / 分隔url $file_name = array_pop($file_name_arr); // 彈出數組的最后一個元素,作為文件名 // 如果以linux作為主機,需要將utf文件名轉換成GBK文件名// if (PHP_OS != WINNT ) {// $file_name = mb_convert_encoding($file_name, gbk , utf-8 // 把文件名從utf-8轉換為gbk// $file_name = mb_convert_encoding($file_name, gbk , utf-8 // 把文件名從utf-8轉換為gbk // 下載文件 $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$val); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); $data = curl_exec($ch); error_log(var_export(curl_getinfo($ch), 1)); curl_close($ch); if ($data) { // 保存文件 file_put_contents($dir.$file_name, $data); // 壓縮文件 // $dir 掃描目錄 // $filename 壓縮文件名 public function compress($dir, $filename = false){ if (!file_exists($dir)) { return false; $file_lists = scandir($dir); // 掃描文件夾 $file_lists = array_diff($file_lists, [ . , .. //去除上級目錄和當前目錄 if (empty($file_lists)) { return false; if (!$filename) { $filename = time().rand(111, 999). .zip  } else { $filename .= .zip  $fullname = $dir.$filename; // 帶路徑的壓縮文件名 if (!file_exists($fullname)) { $zip = new ZipArchive(); if ($zip- open($fullname, ZipArchive::CREATE)==TRUE) { foreach($file_lists as $val){ if(file_exists($dir.$val)){ $zip- addFile($dir.$val, $val); $zip- close(); return $filename; // 遞歸刪除文件和文件夾 // $path 要刪除的文件路徑 public function deleteDir($path) //如果是目錄則繼續 if (is_dir($path)) { $file_lists = scandir($path);//掃描一個文件夾內的所有文件夾和文件并返回數組 foreach ($file_lists as $val) {//排除目錄中的.和.. if ($val != . $val != .. ) {//如果是目錄則遞歸子目錄,繼續操作 if (is_dir($path . $val)) {//子目錄中操作刪除文件夾和文件 self::deleteDir($path . $val . / //目錄清空后刪除空文件夾 @rmdir($path . $val . /  } else {//如果是文件直接刪除 unlink($path . $val); @rmdir($path);}

以上就是php下載遠程文件的源碼介紹的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久久久亚洲| 国产亚洲精品一区二区| 国产精品视频不卡| 精品一区二区三区四区| 一区二区在线视频播放| 国产亚洲欧洲在线| 欧美性猛交xxxx富婆| 97超级碰在线看视频免费在线看| 久久久久久91| 91人成网站www| 日韩电影大全免费观看2023年上| 日韩经典中文字幕| 亚洲午夜性刺激影院| 国产精品中文字幕在线| 久久九九精品99国产精品| 欧美亚洲日本黄色| 欧美激情久久久久| 成人免费视频xnxx.com| 日韩中文字在线| 国产成人精品视频| 91成人在线视频| 黄色一区二区在线| 欧美猛交ⅹxxx乱大交视频| 久久99国产精品久久久久久久久| 伊人激情综合网| 国产精品第七影院| 国产视频亚洲视频| 欧美巨乳在线观看| 亚洲精品www久久久| 少妇激情综合网| 亚洲国产古装精品网站| 日韩高清欧美高清| 久久精品国产69国产精品亚洲| 在线观看国产精品淫| 中文亚洲视频在线| 国产亚洲精品综合一区91| 欧美整片在线观看| 国内伊人久久久久久网站视频| 亚洲国产91色在线| 亚洲综合成人婷婷小说| 日韩av123| 亚洲视频在线观看免费| 亚洲精品美女免费| 久久久久久高潮国产精品视| 国产www精品| 欧美日韩爱爱视频| 午夜精品久久久久久久久久久久久| 国产精品久久久久久亚洲影视| 在线观看中文字幕亚洲| 亚洲精品中文字| 午夜精品美女自拍福到在线| 精品一区电影国产| 精品久久久久久久久中文字幕| 中文字幕日韩av综合精品| 欧美亚洲日本网站| 奇门遁甲1982国语版免费观看高清| 亚洲精品97久久| 日韩精品视频观看| 色综合久久精品亚洲国产| 青草青草久热精品视频在线网站| 亚洲一区亚洲二区| 久久中文字幕一区| 欧美中文在线免费| 国产精品久久久久久久久男| 日韩高清免费在线| 最近2019中文字幕第三页视频| 欧美日韩亚洲高清| 91超碰caoporn97人人| 91黑丝高跟在线| 成人福利网站在线观看11| 色青青草原桃花久久综合| 亚洲国产高清福利视频| 成人欧美一区二区三区在线| 欧美国产亚洲精品久久久8v| 久久999免费视频| 亚洲激情在线视频| 久久精品久久久久电影| 国产91在线视频| 久久久久久12| 国产精品自产拍高潮在线观看| 国产精品一区av| 性金发美女69hd大尺寸| 一区二区三区美女xx视频| 日韩精品在线电影| 国产精品国产自产拍高清av水多| 中文字幕亚洲天堂| 91精品国产高清久久久久久| 欧美一区二区色| 午夜精品福利在线观看| 国产精品xxxxx| 欧美一区二区三区……| 91久久精品日日躁夜夜躁国产| 欧美成人午夜激情视频| 久久精品久久精品亚洲人| 国产亚洲欧美一区| 2019中文字幕在线免费观看| 日本免费一区二区三区视频观看| 欧美精品在线视频观看| 欧美在线视频观看免费网站| 欧美天堂在线观看| 亚洲精品小视频| 精品日本美女福利在线观看| 国产精品视频区1| 日本精品视频在线播放| 在线精品国产成人综合| 欧美日韩加勒比精品一区| 精品视频www| 亚洲女成人图区| 国产精品欧美久久久| 久久久免费精品| 国产欧美一区二区三区在线| 日韩第一页在线| 久久视频在线免费观看| 日本不卡高字幕在线2019| 亚洲自拍偷拍在线| 欧美精品18videos性欧美| 欧美在线视频免费| 日韩专区在线播放| 国产精品久久久久久久久久新婚| 96精品视频在线| 色妞色视频一区二区三区四区| 日韩视频免费在线观看| 韩国欧美亚洲国产| 亚洲va欧美va在线观看| 久久国产精品影片| 夜夜嗨av色综合久久久综合网| 国产精品国产福利国产秒拍| 日韩美女视频免费在线观看| 久久久久久久久久久亚洲| 欧美精品一区二区三区国产精品| 成人黄色激情网| 日韩中文字幕在线精品| 国产不卡av在线| 欧美成人合集magnet| 国产极品jizzhd欧美| 国产美女精品视频免费观看| 欧美成人亚洲成人日韩成人| 亚洲欧美日本伦理| 456亚洲影院| 亚洲乱亚洲乱妇无码| 欧美国产乱视频| 欧美日韩国产一中文字不卡| 国产成人精品日本亚洲专区61| 成人精品视频久久久久| 琪琪亚洲精品午夜在线| 久久免费福利视频| 亚洲日本中文字幕免费在线不卡| 亚洲男人天堂手机在线| 欧美国产视频一区二区| 一本一本久久a久久精品综合小说| 日韩av中文字幕在线播放| 久久久久亚洲精品| 日韩成人激情视频| 国产精品一区二区三区毛片淫片| 成人免费在线视频网站| 国产日韩欧美综合| 欧美国产日韩免费| 亚洲男人第一av网站| 中文字幕亚洲欧美日韩2019| 91性高湖久久久久久久久_久久99| 亚洲美女av电影| 欧美理论电影网| www.久久久久| 久久综合五月天|