PHP快速實現從URL下載檔案的兩種方法

藏色散人
發布: 2023-04-10 16:06:02
原創
9966 人瀏覽過

在上一篇《實例示範怎麼在點擊按鈕時呼叫PHP函數》中給大家介紹了怎麼在點擊按鈕時呼叫PHP函數,有需要的朋友可以學習了解一下~

本文的主題內容則是如何透過PHP實作從URL下載檔案?

其實有許多方法可以從URL 下載文件,但本文將重點討論兩種方法:

第一種方法:

使用file_get_contents () 函數: file_get_contents() 函數用來將檔案讀入字串。該函數使用伺服器支援的記憶體映射技術,從而提高效能,使其成為讀取檔案內容的首選方式。

語法: 

file_get_contents($path, $include_path, $context, $start, $max_length)
登入後複製

建立一個test.php範例文件,內容如下:

<?php
// 将文件URL初始化为变量
$url = &#39;https://img.php.cn/upload/article/000/000/020/6125a391e4e76689.png&#39;;

// 使用basename()函数获取文件名
$file_name = basename($url);

// 使用file_get_contents()函数从url获取文件,使用file_put_contents()函数保存文件
if(file_put_contents( $file_name,file_get_contents($url))) {
    echo "文件下载成功";
}
else {
    echo "文件下载失败";
}
登入後複製

運行結果顯示:

文件下载成功
登入後複製

現在我們可以查看test.php檔案的同目錄下是否成功儲存了「6125a391e4e76689.png」檔案:

PHP快速實現從URL下載檔案的兩種方法

##成功從URL儲存了檔案。

第二種方法:使用PHP Curl

建立一個test.php範例文件,範例程式碼如下:

<?php

$url = &#39;https://img.php.cn/upload/article/000/000/020/6125a391e4e76689.png&#39;;

// 初始化cURL会话
$ch = curl_init($url);

// 初始化保存文件的目录名
$dir = &#39;./&#39;;

// 函数返回文件名
$file_name = basename($url);

// 将文件保存到给定位置
$save_file_loc = $dir . $file_name;

// 打开文件
$fp = fopen($save_file_loc, &#39;wb&#39;);

// 为cURL传输设置一个选项
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

// 执行cURL会话
curl_exec($ch);

// 关闭cURL会话并释放所有资源
curl_close($ch);

// 关闭文件
fclose($fp);
登入後複製
運行test.php文件後即可在指定位置檢視到下載已儲存的檔案。

此方法實作下載檔案的特定步驟:  

  • #將檔案URL 初始化為變數

  • 建立cURL 會話

  • 宣告一個變數並儲存下載檔案將保存的目錄名稱。

  • 如果檔案路徑是作為參數提供,則使用 basename() 函數傳回檔案基本名稱。

  • 將檔案儲存到給定位置。

  • 以寫入字串方式開啟已儲存的檔案位置

  • #設定cURL 傳輸選項

  • 執行cURL 會話並關閉cURL 會話並釋放所有資源

  • 關閉檔案

最後給大家推薦最新最全面的《

PHP影片教學》~快來學習吧!

以上是PHP快速實現從URL下載檔案的兩種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!