PHP Conference Japan 2024

ftp_raw

(PHP 5, PHP 7, PHP 8)

ftp_raw傳送任意指令到 FTP 伺服器

說明

ftp_raw(FTP\Connection $ftp, string $command): ?array

傳送任意 command 指令到 FTP 伺服器。

參數

ftp

一個 FTP\Connection 實例。

command

要執行的指令。

回傳值

傳回伺服器回應的字串陣列,若失敗則傳回 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_exec() - 請求在 FTP 伺服器上執行指令

新增註記

使用者貢獻的註記 3 則註記

nightwalker85 at gmail dot com
19 年前
<?
ftp_raw($ftpconn,"CLNT <client>");
?>

這是讓 FTP 伺服器知道它正在與哪個客戶端互動的好方法。如果您正在製作自製的 FTP 客戶端,這可能會很有用。僅當 FTP 伺服器已使用包含 CLNT 的回應回覆 FEAT 指令時,才執行此操作。
www.bossftp.com
16 年前
請注意,$command 不能包含任何非法字元,例如 \n、\r、\t,否則此函數將返回 NULL。

嘗試在呼叫 ftp_raw() 之前使用 trim()。

<?php
ftp_raw
($connid, trim($command));
?>
WebSee.ru
15 年前
如何透過 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);
}
?>
To Top