4

这段代码的行为很奇怪。我要做的就是通过 FTPS 连接删除文件并确定它是否有效。删除完美无缺,但我遇到了副作用。我不知道为什么,但有些东西导致生成的目录内容回显。

$conn = curl_init();
$testfile = 'file.txt';

curl_setopt($conn, CURLOPT_PORT, $config['imt']['ftp']['port']);
curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($conn, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);

$url = 'ftps://' . $config['imt']['ftp']['host'];

curl_setopt($conn, CURLOPT_URL, $url);
curl_setopt($conn, CURLOPT_USERPWD, $config['imt']['ftp']['username'] . ':' . $config['imt']['ftp']['password']);
curl_setopt($conn, CURLOPT_QUOTE, array('DELE /' . $testfile));

$result = curl_exec($conn);

if ($result)
{
    echo 'Success';
}

curl_close($conn);

上面打印出来的正是这个。

drwxrwxrwx   1 DCG AbilityFTPServer          0 Jan 09 12:58 .
drwxrwxrwx   1 DCG AbilityFTPServer          0 Jan 09 12:58 ..
-rw-rw-rw-   1 DCG AbilityFTPServer        260 Jan 08 12:52 Congratulations.txt
Success

我试图删除的文件确实已被删除,目录中只剩下那个 txt 文件。它甚至会打印“成功”。但是为什么在我不要求的时候打印我的目录内容!?

4

1 回答 1

4

尝试curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);使curl_exec()函数返回数据而不是输出数据。

于 2013-01-09T18:16:39.507 回答