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

问题描述 投票:4回答:3

背景

我一直在互联网上尝试寻找--ftp-create-dirs的示例。

总体上,我的目标是使用“ --ftp-create-dirs”自动创建必要的文件夹(如果我在上传文件时不存在这些文件夹。

问题

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

我当前的卷发:

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

在上面的示例中,我尝试上载.png图像并在不存在的ftp服务器上创建/test

bash curl centos curl-commandline
3个回答
3
投票

通过FTP添加新目录:

curl ftp://username:[email protected]/homes/back/newdir/ --ftp-create-dirs

0
投票

您不需要在/test之后使用--ftp-create-dirs。它只是一个与命令中的-k(不带任何值)相似的参数。


0
投票

只需将其放在此处以供将来参考(并且由于我一直犯同样的错误,就像您在代码中看到的一样):重要的是用/(斜杠)结尾文件夹名称。否则,curl将创建文件,而不是文件夹。这是我使用的命令:

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

这会将FTP服务器上的local_file.txt移至my_new_folder。如果该文件夹不存在,将创建该文件夹,否则,该命令将被忽略。

如果创建文件夹有任何问题,curl将返回错误号9(请参见https://curl.haxx.se/libcurl/c/libcurl-errors.html)。如果给定目录中已经存在与新文件夹同名的文件,则会发生这种情况:

curl: (9) Failed to MKD dir: 451
© www.soinside.com 2019 - 2024. All rights reserved.