这段代码表现得很奇怪。我要做的就是通过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文件。它甚至打印出“成功”。但是,为什么在我不要求时打印我的目录内容呢?
答案 0 :(得分:3)
尝试curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
使curl_exec()
函数返回数据而不是输出数据。