[精讚] [會員登入]
3097

[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

你可能感興趣的文章

[PHP] 判斷文字、數字、文字加數字的方法 幾個PHP數字和文字操作上的小眉角:判斷文字、數字、文字加數字的方法

[PHP] 將UTF8中文字轉成10進位或16進位數值 原本為了處理 preg_match 中文字的問題[2],用php把中文字轉換成10進位和6進位的數值編碼

設定Google analytics API #3 -- 查詢範例 讓你的網站能夠存取你的Google analytics上面的資料

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?

[PHP] 陣列排序 sort, ksort, asort, usort... 簡單的記錄PHP的陣列排序,因為常常會用到。

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

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

HP SAS硬碟leds燈號說明 HP SAS硬碟leds燈號(hp g7/g6系統適用)說明

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?

維修冰箱 維修冰箱

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

此一時彼一時 我是不是易怒的人,其實我也不知道,總之我常會失控,不知道自己在幹嘛。這近生活過得浮浮的,不是很踏實,總會想太多,我甚至會