国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

PHP實現的一個保存遠程文件到本地的函數分享

2019-10-26 19:24:17
字體:
來源:轉載
供稿:網友

最近遇到了PHP遠程圖片本地話的問題,查了查手冊發現file_get_contents()和file_put_contents()可以解決這個問題。思路很簡單,將遠程文件讀入字符串中,然后按照規則寫入指定目錄,經測試此法可采集圖片、文本、音頻文件等,只要你可以想辦法得到它們的地址。

先上代碼:

代碼如下:
/**
 * 保存文件到本地
 * @param 文件路徑 $url
 * @param 保存本地路徑 $savePath
 * @return string
 */
function downloadFile($url,$savePath='')
{
    $fileName = getUrlFileExt($url);
        $fileName = rand(0,1000).$fileName;
    $file = file_get_contents($url);
    file_put_contents($savePath.'/'.$fileName,$file);
        return $fileName;
}
 
/**
 * 獲取文件擴展名
 * @param 網頁URL $url
 * @return string
 */
function getUrlFileExt($url)
{
    $ary = parse_url($url);
    $file = basename($ary['path']);
    $ext = explode('.',$file);
    return $ext[1];
}

示例:

代碼如下:
downloadFile("http://blog.jb51.net/wp-content/themes/inove/img/mei.png","/upload/2012/01/")

file_get_contents(path) 函數和 file() 一樣,不同的是 file_get_contents() 把文件讀入一個字符串。path是必須的參數,規定要讀取的文件。

file_put_contents(file,data) 函數是把一個字符串寫入文件中。與依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。file是必需參數,規定要寫入數據的文件。如果文件不存在,則創建一個新文件。data是要寫入的數據,可以是字符串、數組或數據流。

parse_url()則可以抓取分析url的信息,我們這里用它來獲取文件的名稱

官方給的示例:

代碼如下:
$ php -r 'print_r(parse_url("http://invalid_host..name/"));'
Array
(
    [scheme] => http
    [host] => invalid_host..name
    [path] => /
)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平昌县| 松潘县| 伊金霍洛旗| 萨嘎县| 河北区| 新蔡县| 抚州市| 丰原市| 金堂县| 花莲县| 巴彦县| 婺源县| 东平县| 浮梁县| 繁昌县| 徐汇区| 原平市| 左权县| 大城县| 铅山县| 申扎县| 神木县| 乐昌市| 佛坪县| 大埔区| 台安县| 安仁县| 台中县| 都兰县| 临泉县| 怀仁县| 晋城| 锦屏县| 子长县| 建昌县| 洛南县| 莫力| 峨边| 鄂伦春自治旗| 扬中市| 罗山县|