Как использовать curl --ftp-create-dirs?

Фон

Поэтому я искал в интернете, пытаясь найти пример "--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-сервере, если он не существует.

2 ответа

Добавить новый каталог в ftp

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

Просто поместите это здесь для использования в будущем (и потому что я продолжаю делать ту же ошибку, которую только что видел в вашем коде): важно закончить имя папки с помощью /(слэш). В противном случае 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 к my_new_folderна FTP-сервере. Папка будет создана, если ее не существует, иначе команда просто проигнорируется.

Если есть какие-либо проблемы с созданием папки, curl вернет ошибку номер 9 (см. https://curl.haxx.se/libcurl/c/libcurl-errors.html). Это может произойти, если файл с тем же именем, что и новая папка, уже существует в данном каталоге:

curl: (9) Failed to MKD dir: 451

Вам не нужно использовать /test после --ftp-create-dirs, Это просто параметр, похожий на ваш -k(не принимает никакого значения) по команде.

Другие вопросы по тегам