主頁 > 知識庫 > PHP實現(xiàn)的一個保存遠程文件到本地的函數(shù)分享

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

熱門標簽:企業(yè)做大做強 客戶服務(wù) Win7旗艦版 百度AI接口 呼叫中心市場需求 硅谷的囚徒呼叫中心 電話運營中心 語音系統(tǒng)

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

先上代碼:

復制代碼 代碼如下:

/**
 * 保存文件到本地
 * @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 網(wǎng)頁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) 函數(shù)和 file() 一樣,不同的是 file_get_contents() 把文件讀入一個字符串。path是必須的參數(shù),規(guī)定要讀取的文件。

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

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

官方給的示例:

復制代碼 代碼如下:

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

您可能感興趣的文章:
  • php下載遠程文件類(支持斷點續(xù)傳)
  • PHP 遠程文件管理,可以給表格排序,遍歷目錄,時間排序
  • 獲取遠程文件大小的php函數(shù)
  • PHP 獲取遠程文件內(nèi)容的函數(shù)代碼
  • PHP 網(wǎng)絡(luò)開發(fā)詳解之遠程文件包含漏洞
  • php帶密碼功能并下載遠程文件保存本地指定目錄 修改加強版
  • php下利用curl判斷遠程文件是否存在的實現(xiàn)代碼
  • PHP 獲取遠程文件大小的3種解決方法
  • PHP中通過fopen()函數(shù)訪問遠程文件示例
  • php獲取遠程文件內(nèi)容的函數(shù)
  • php獲取遠程文件的內(nèi)容和大小

標簽:喀什 崇左 山西 山西 安康 濟南 海南 長沙

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PHP實現(xiàn)的一個保存遠程文件到本地的函數(shù)分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266