<?
ftp_raw($ftpconn,"CLNT <client>");
?>
這是讓 FTP 伺服器知道它正在與哪個客戶端互動的好方法。如果您正在製作自製的 FTP 客戶端,這可能會很有用。僅當 FTP 伺服器已使用包含 CLNT 的回應回覆 FEAT 指令時,才執行此操作。
(PHP 5, PHP 7, PHP 8)
ftp_raw — 傳送任意指令到 FTP 伺服器
傳回伺服器回應的字串陣列,若失敗則傳回 null
。此函數不會解析回應字串,ftp_raw() 也不會判斷指令是否執行成功。
版本 | 說明 |
---|---|
8.1.0 | ftp 參數現在需要一個 FTP\Connection 實例;先前需要的是 資源。 |
範例 #1 使用 ftp_raw() 手動登入 FTP 伺服器。
<?php
$ftp = ftp_connect("ftp.example.com");
/* 這與以下程式碼相同:
ftp_login($ftp, "joeblow", "secret"); */
ftp_raw($ftp, "USER joeblow");
ftp_raw($ftp, "PASS secret");
?>
<?
ftp_raw($ftpconn,"CLNT <client>");
?>
這是讓 FTP 伺服器知道它正在與哪個客戶端互動的好方法。如果您正在製作自製的 FTP 客戶端,這可能會很有用。僅當 FTP 伺服器已使用包含 CLNT 的回應回覆 FEAT 指令時,才執行此操作。
請注意,$command 不能包含任何非法字元,例如 \n、\r、\t,否則此函數將返回 NULL。
嘗試在呼叫 ftp_raw() 之前使用 trim()。
<?php
ftp_raw($connid, trim($command));
?>
如何透過 FXP 實現從一個 FTP 伺服器到另一個 FTP 伺服器傳輸資料的可能性?
<?php
// ...
$ansver = ftp_raw($ftp_conn1, 'PASV');
if (intval($ansver[0]) == 227) {
ftp_raw($ftp_conn2, 'PORT '.substr($ansver[0], $n = strpos($ansver[0], '(') + 1, strpos($m[0], ')', $n) - $n));
ftp_raw($ftp_conn1, 'STOR '.$filename); // 需要非同步(非阻塞式)
ftp_raw($ftp_conn2, 'RETR '.$filename);
}
?>