使用PHP將檔案上傳到另一個PHP伺服器


fopen、fread和fwrite函式分別用於開啟檔案流、讀取資料流以及將資料寫入檔案。

檔案資源不必一定指向本地機器上的位置。

下面是一個將檔案從本地伺服器傳輸到FTP伺服器的示例:

$file = "file_name.jpg";
$destination = fopen("ftp://username:password@example.com/" . $file, "wb");
$source = file_get_contents($file);
fwrite($destination, $source, strlen($source));
fclose($destination);

影像需要傳輸到FTP伺服器。因此,伺服器以寫入模式開啟,影像被寫入該位置,然後關閉流。

curl擴充套件使用客戶端URL庫(libcurl)將檔案從一個位置傳輸到另一個位置。實現curl解決方案的邏輯遵循以下邏輯:

  • 首先初始化會話。
  • 可以設定所需的傳輸選項。
  • 可以執行傳輸。
  • 可以關閉會話。

可以使用'curl_init'函式初始化curl會話。它返回一個可以與其他curl函式一起使用的資源。

可以使用'curl_setopt'設定上傳檔案的目標以及與傳輸會話相關的其他因素。

這需要curl資源,這是一個預定義的常量,它表示設定和可選值。

下面是一個演示相同內容的示例:

$session_begin = curl_init();
curl_setopt($session_begin, CURLOPT_POST, true);
curl_setopt($session_begin, CURLOPT_POSTFIELDS, array('file' => 'path/to/file.txt'));
curl_setopt($session_begin, CURLOPT_URL, 'http://server2/upload.php');
curl_exec($session_begin);
curl_close($session_begin);

第二個伺服器可以像常規檔案上傳一樣處理。

更新於:2020年4月6日

3K+瀏覽量

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告