我不知道如何使用 CURL 的 FTP,特别是如何从我的 PHP 代码发出 FTP 命令:
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'ftp://ftp.microsoft.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_POSTQUOTE,array('CWD bussys/','LIST')); /* ?!! */
echo '<hr><pre>'.htmlspecialchars(curl_exec($ch)).'</pre><hr>';
?>
在我上面的示例中,我想获得 bussys 的目录列表,但我得到的是主(FTP 根)目录的列表。
顺便说一句,我尝试了以下组合:
LIST 总线系统/
CWD bussys,LIST -a
最佳答案
我也搜索了一种更改工作目录的方法,但找不到任何东西。
最终对我有用的是将文件夹包含在 CURLOPT_URL
中。此外,仅文件夹还不够,我必须在尾部添加正斜杠 /
。
因此,如果对我有用的东西对你也有用,那么设置以下 url 结构和 CURLOPT_FTPLISTONLY
应该会让你得到 bussys/
的内容。
curl_setopt($ch, CURLOPT_URL, 'ftp://ftp.microsoft.com/bussys/');
curl_setopt($ch, CURLOPT_FTPLISTONLY, TRUE);
而且我不需要 CURLOPT_POSTQUOTE
CWD
选项来获取嵌套目录内容。
关于php - 从 PHP CURL 使用 FTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2667534/