php - 从 PHP CURL 使用 FTP

标签 php curl ftp

我不知道如何使用 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/

相关文章:

php - MySQL和PHP解析错误

php - 使用 PHP 和 MySQL 从表中删除

html - 带有用户名和密码的 HTML 文件上的 SSL 和 FTP url

c# - 如何使用 FluentFTP 列出文件夹

php - Mysql添加重复的varchar

php - 使用 PHP 生成 OpenOffice calc 文件

javascript - 同时运行 cURL 和 Node 服务器

php - 调用curl_init后如何更改HTML源代码?

php - 网址错误 0 : The cURL request was retried 3 times and did not succeed

linux - SVN Unknown FS 类型(导入项目)