国产探花免费观看_亚洲丰满少妇自慰呻吟_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] => /
)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 银川市| 辰溪县| 大厂| 扎鲁特旗| 门头沟区| 阿克| 香河县| 中山市| 长子县| 平湖市| 汕尾市| 大关县| 留坝县| 六枝特区| 洪泽县| 大洼县| 保定市| 新营市| 电白县| 金湖县| 九龙坡区| 丰顺县| 华宁县| 怀来县| 邵阳市| 白朗县| 卢龙县| 襄城县| 惠水县| 庄浪县| 临猗县| 望谟县| 香格里拉县| 永川市| 来凤县| 台前县| 同德县| 南宫市| 贡山| 高雄市| 额敏县|