3861

[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] 位元運算 (Bitwise operation)及和PERL比較 PHP 的位元運算,及和PERL比較整理

PHP判斷對方瀏覽器語系 多語系的網頁應該主動偵查瀏覽器的語系,配合使用者跳出合適的語系。

設定Google analytics API #2 -- PHP的程式安裝和撰寫 讓你的網站能夠存取你的Google analytics上面的資料

[PHP] 使用browscap檢查瀏覽器版本 使用PHP內建函數browscap檢查瀏覽器版本

[CodeIgniter 3] 修改或插入資料時遇到函數的處理 CI3 中要新增或修改的資料中如果有 now()這類的函數,要怎麼處理?

隨機好文

使用Google尋找你的手機 這近發現google竟然可以用來找android的手機,而且不需要經過什麼設定或安裝軟體。

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

TFTP Server 安裝及使用 讓設備的網路設定檔或是韌體經由TFTP拷備出來,操作的方法

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

[PHP] 檢查IP是否在某個網段內 mtachcidr 要檢查IP是否在某個網段內,要寫幾行?10行?5行? 不用,只要2行。以下是我寫的 code /** * matchCI

精讚::