PHP 8.3.4 Released!

ftp_raw

(PHP 5, PHP 7, PHP 8)

ftp_raw向 FTP 服务器发送命令

说明

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

向 FTP 服务器发送任意 command

参数

ftp

FTP\Connection 实例。

command

要执行的命令。

返回值

将服务器的响应以字符串数组的形式返回,失败时为 null。对于响应内容既不做解析处理,ftp_raw() 也不检测命令是否执行成功。

更新日志

版本 说明
8.1.0 现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource

示例

示例 #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 服务器运行指定的命令

add a note

User Contributed Notes 3 notes

up
4
nightwalker85 at gmail dot com
18 years ago
<?
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.
up
2
www.bossftp.com
15 years ago
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));
?>
up
1
WebSee.ru
14 years ago
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);
}
?>
To Top