背景
我一直在寻找互联网,试图找到--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
(如果它不存在)。
答案 0 :(得分:3)
通过FTP添加新目录:
curl ftp://username:password@10.10.10.10/homes/back/newdir/ --ftp-create-dirs
答案 1 :(得分:1)
只需将其放在此处以供将来参考(由于我一直犯同样的错误,就像您在代码中看到的一样):重要的是用/
(斜杠)结束文件夹名称。否则,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
答案 2 :(得分:0)
您无需在/test
之后使用--ftp-create-dirs
。它只是一个类似于-k
的参数(不带任何值)。