如何使用curl --ftp-create-dirs命令?

7

背景

我一直在搜索互联网上关于--ftp-create-dirs的使用示例。

总体而言,我的目标是在上传文件时自动创建必要的文件夹,如果它们不存在,就使用"--ftp-create-dirs"实现。

问题

问题是我不知道正确使用--ftp-create-dirs的确切语法,有人能帮帮我吗?

我当前的curl命令:

curl -k -T 000-0000-0000-000.png -u [username]:[pass] --ftp-create-dirs /test --ftp-ssl  ftp:[ftp server]

在上面的例子中,我试图上传 .png 图像并在 ftp 服务器上创建 /test 目录(如果它不存在)。
3个回答

5

To add a new directory via FTP:

curl ftp://username:password@10.10.10.10/homes/back/newdir/ --ftp-create-dirs

3

这里只是为了日后的参考(以及因为我一直犯着你代码中刚刚看到的相同错误)而加入的:重要的是,在文件夹名称末尾加上/(斜杠)。否则,curl将创建一个文件,而不是一个文件夹。以下是我使用的命令:

curl -T path/to/local_file.txt ftp://1.2.3.4/my_new_folder/ --ftp-create-dirs -u username:password

这将把local_file.txt移动到FTP服务器上的my_new_folder。如果该文件夹不存在,将会创建一个新的文件夹;否则,命令将被忽略。
如果创建文件夹时出现任何问题,curl将返回错误代码9(请参见https://curl.haxx.se/libcurl/c/libcurl-errors.html)。如果给定目录中已经存在与新文件夹同名的文件,则可能会发生这种情况。
curl: (9) Failed to MKD dir: 451

0
你不需要在--ftp-create-dirs之后使用/test。它只是类似于命令中的-k(不需要任何值)的参数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接