Как использовать 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
(не принимает никакого значения) по команде.