How to realize the possibility of transferring data from one FTP-server to another via FXP?
<?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); // need asynchronously (non-blocking)
ftp_raw($ftp_conn2, 'RETR '.$filename);
}
?>
ftp_raw
(PHP 5)
ftp_raw — FTP サーバに任意のコマンドを送信する
説明
array ftp_raw
( resource $ftp_stream
, string $command
)
任意の command を FTP サーバに送信します。
パラメータ
- ftp_stream
-
FTP 接続のリンク ID 。
- command
-
実行したいコマンド。
返り値
サーバからの応答を文字列の配列で返します。 結果の文字列に対して、何の処理も行いません。また、 ftp_raw() はそのコマンドが成功したのかどうかを 判断できません。
例
例1 ftp_raw() を用いて FTP サーバに手動でログインする
<?php
$fp = ftp_connect("ftp.example.com");
/* ftp_login($fp, "joeblow", "secret");
を実行するのと同じ意味 */
ftp_raw($fp, "USER joeblow");
ftp_raw($fp, "PASS secret");
?>
ftp_raw
WebSee.ru
11-Aug-2009 06:38
11-Aug-2009 06:38
www.bossftp.com
06-Nov-2008 02:32
06-Nov-2008 02:32
Note that the $command can not contains any illegal character such as \n, \r, \t, or this function will return NULL.
Try using the trim() before calling ftp_raw().
<?php
ftp_raw($connid, trim($command));
?>
nightwalker85 at gmail dot com
19-Apr-2005 11:32
19-Apr-2005 11:32
<?
ftp_raw($ftpconn,"CLNT <client>");
?>
Is a good way to let the ftp-server know which client it's dealing with. Guess this can be useful if you're making a homemade ftp-client. Only do this if the ftp-server has responded to FEAT command with a response including CLNT.
