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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 疏勒县| 上思县| 石首市| 牙克石市| 中牟县| 金华市| 太保市| 崇阳县| 阳东县| 芜湖县| 茶陵县| 临清市| 奉贤区| 夏津县| 泸州市| 奉贤区| 应用必备| 东乌珠穆沁旗| 绥中县| 崇信县| 安化县| 兴义市| 泰顺县| 镇巴县| 大田县| 光山县| 仲巴县| 长治县| 上饶县| 泾川县| 贵州省| 裕民县| 探索| 甘南县| 胶南市| 鄂托克旗| 富顺县| 巩留县| 泰安市| 乐山市| 华池县|