【问题标题】:rename file on sftp with curl on php使用 php 上的 curl 重命名 sftp 上的文件
【发布时间】:2021-02-17 14:44:39
【问题描述】:

是否可以在 php 上使用 curl 重命名 sftp 服务器上的文件?

我使用这个函数连接,但我不知道是否可以重命名服务器上的文件

function get_test_lines($file_name){

    $c = curl_init("sftp://".SFTP_USER.":".SFTP_PASSWORD."@".SFTP_HOST."/data/".$file_name.".txt");
    curl_setopt($c, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); 
    $data = curl_exec($c);
    curl_close($c);

    return $data;
}

【问题讨论】:

    标签: php curl


    【解决方案1】:

    是的,使用rename 命令。如果文件名包含空格,则需要引号 "。始终使用来自 sftp 根目录的完整路径。

    curl_setopt($c, CURLOPT_POSTQUOTE, array('rename "/' . $file_name_from . '" "/' . $file_name_to .'"'));
    

    【讨论】:

      【解决方案2】:

      也许这是相关的:在 FTP 上使用 curl 重命名 (http://www.mukeshkumar.net/articles/curl/how-to-use-curl-command-line-tool-with-ftp-and-sftp);

      curl -p - --insecure "ftp://82.45.34.23:21/CurlPutTest/" --user "testuser:testpassword" -Q "-RNFR /CurlPutTest/testfile.xml" -Q "-RNTO /CurlPutTest/testfile.xml.tmp" --ftp-create-dirs

      也许 SFTP 也有类似的选项,尽管 SFTP 和 FTP 完全不同

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-17
        • 2016-02-28
        • 2020-05-19
        • 1970-01-01
        • 2021-10-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多