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

首頁 > 開發 > PHP > 正文

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

2024-05-04 23:26:53
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP實現的一個保存遠程文件到本地的函數分享,本文直接給出實現代碼和使用方法,需要的朋友可以參考下
 
 

最近遇到了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://idc.vevb.com/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] => /
)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 手游| 万年县| 寻乌县| 博白县| 钟祥市| 桃江县| 星子县| 彰化县| 龙泉市| 马边| 梁山县| 潮州市| 上高县| 保定市| 贞丰县| 海盐县| 武隆县| 海安县| 龙川县| 广灵县| 吉首市| 大荔县| 西平县| 新平| 阜康市| 黔东| 安顺市| 乌拉特后旗| 陇西县| 望江县| 新化县| 浑源县| 绿春县| 宁波市| 大姚县| 阿城市| 恭城| 探索| 乐亭县| 女性| 韩城市|