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

首頁 > 編程 > Ruby > 正文

PHP實(shí)現(xiàn)的一個(gè)保存遠(yuǎn)程文件到本地的函數(shù)分享

2020-10-29 19:43:27
字體:
供稿:網(wǎng)友

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

先上代碼:

復(fù)制代碼 代碼如下:

/**
 * 保存文件到本地
 * @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;
}
 
/**
 * 獲取文件擴(kuò)展名
 * @param 網(wǎng)頁URL $url
 * @return string
 */
function getUrlFileExt($url)
{
    $ary = parse_url($url);
    $file = basename($ary['path']);
    $ext = explode('.',$file);
    return $ext[1];
}

示例:

復(fù)制代碼 代碼如下:

downloadFile("http://blog.VeVB.COm/wp-content/themes/inove/img/mei.png","/upload/2012/01/")

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

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

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

官方給的示例:

復(fù)制代碼 代碼如下:

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 子洲县| 承德县| 泸溪县| 厦门市| 旺苍县| 昆山市| 大竹县| 莱西市| 迭部县| 南丰县| 澄江县| 洛阳市| 西吉县| 馆陶县| 兴国县| 长乐市| 内乡县| 寿宁县| 眉山市| 黄石市| 新蔡县| 泌阳县| 桃园市| 出国| 渭源县| 武隆县| 三门县| 玛纳斯县| 东港市| 龙州县| 深水埗区| 莱西市| 三门县| 乌兰浩特市| 高州市| 峨眉山市| 扬州市| 保亭| 朝阳县| 白玉县| 抚顺市|