2013-01-09 80 views
3

此代码行为异常。我想要做的就是通过FTPS连接删除文件,并确定它是否工作。删除操作完美无缺,但我正在经历一个副作用。我无法弄清楚为什么,但是导致产生的目录内容回显。通过ftp连接通过PHP curl删除文件回显目录内容

$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文件。它甚至打印“成功”。但是为什么当我不要求它时打印我的目录内容?

+1

如果你通过命令行FTPS并手动删除文件,它会返回目录列表还是只通过cURL发生? –

+0

我没有命令行访问此服务器,所以我无法回答。即使是这样,我也不会回应交易所的结果或任何结果。 – Tanoro

回答

3

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

+0

太棒了!那样做了。非常严格。 – Tanoro