[精讚] [會員登入]
3305

[PHP] 使用FTP

PHP 上使用 FTP 的寫法

分享此文連結 //n.sfs.tw/10963

分享連結 [PHP] 使用FTP@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 13:26:38 最後編修
2017-04-07 11:51:06 By 張○○
 

自動目錄

傳統上,網頁檔案上傳方法是把php的暫時檔拷到上傳目錄。可是如果在伺服器間傳檔,可使用 FTP 來處理。

連線

參數分別是 HOST, PORT, TIMEOUT

$conn = ftp_connect("10.200.0.1", 21, 60) or die("Connect FTP Server Fail"); 

登入

$ok =ftp_login($conn, "account", "password");

if($ok) // logined

if(!$ok) // login failed

使用被動模式

這個指令必須在ftp_login 後立即使用,第2個參數設為true即為被動模式,設為false關閉被動模式。

ftp_pasv($conn, true);

路徑

剛登入的路徑應該在你登入account的家目錄 

$pwd= ftp_pwd($conn);  // /home/your_account/

//改變路徑 chdir  進到 /home/youracc/path/to/

ftp_chdir( $conn,  "path/to");

//移到上一層 /home/youracc/path/

ftp_cdup( $conn);

上傳及下載

// 取回檔案,使用二進位的方式

if (ftp_get($conn, "local_file", "server_file", FTP_BINARY)) {
   echo "Successfully written to local_file\n";
} else {
   echo "There was a problem\n";
}

//上傳一個檔案,注意傳送模式為 FTP_ASCII

if (ftp_put($conn, "remote_file", "local_file", FTP_ASCII)) {
   echo "successfully uploaded file\n";
} else {
   echo "There was a problem while uploading file\n";
}

// 刪除檔案
ftp_delete($conn, "FILENAME");

關閉連結

ftp_close($conn);

補充說明

上傳檔案有 ftp_put, ftp_fput, ftp_nb_put, ftp_nb_fput 這幾個函數,同樣的下載也有對應的四個函數,差別在哪?
ftp_put -- 上傳檔案
ftp_fput -- 上傳檔案指標
ftp_nb_put  -- 非同步法上傳檔案
ftp_nb_fput  -- 非同步法上傳檔案指標

延伸閱讀

FTP的主動模式及被動模式

參考資料

[1] PHP 官網 http://tw.php.net/manual/en/ref.ftp.php

END

你可能感興趣的文章

[phpmyadmin] 錯誤:您應升級到 MySQL 5.5.0 或更新版本 使用phpmyadmin4出現錯誤:您應升級到 MySQL 5.5.0 或更新版本的解決方式

[PHP] preg_match 的貪婪和不貪婪比對 在php preg_match中預設是採用貪婪比對,太貪婪反而不符合需要,因此得採用「非貪婪比對」...

[PHP] 如何寫callback function 召回函數(回呼函數) PHP如何寫召回函數或回呼函數(callback function)?

[CodeIgniter 3] COOKIE的使用 PHP CodeIgniter 3 中COOKIE的使用超簡單

PHP 產生連續的日期 要用PHP產生連續的日期,連續月份

PHP 移除陣列中的元素 要移除陣列中的其中一項元素

隨機好文

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

[札記] 2016.7~12月札記 札記,只是札記

[AS3] 我做的唯一一個Flash As3遊戲UFO INVADSION [AS3] 我做的唯一一個Flash As3遊戲,是第一個也是最後一個,後來就沒再寫as3,不過as3還滿好玩的。

[CodeIgniter 3] 資料庫的使用方法整理1/2 --Select的使用 [CodeIgniter 3] 資料庫的使用方法整理:Select的使用