curl
może wspierać omijając pliki kiedy go używać z -O
i -J
, ale jego zachowanie jest niespójne.
-J
(--remote-header-name
) w zasadzie opowiada (--remote-name
) opcję -O
korzystania z serwera określonym Content-Disposition
pliku zamiast wyodrębnianie pliku z adresu URL. W ten sposób curl
tak naprawdę nie wie, jaką nazwę pliku zwróci serwer, więc może zignorować istniejący plik ze względu na bezpieczeństwo.
Źródło: Re: -J "Refusing to overwrite..."
Na przykład:
$ curl -LJO -H 'Accept: application/octet-stream' 'https://api.github.com/repos/x/y/releases/assets/12345
Warning: Refusing to overwrite my_file.bin: File
Warning: exists
curl: (23) Failed writing body (0 != 16384)
Jednak jak już wspomniano, jego zachowanie jest nieprzewidywalne i to nie działa dla wszystkich plików.
Bardzo pomocne, dziękuję za wskazanie tego. ale robię to przez php, jak mogę uruchomić to, jeśli oświadczenie za pośrednictwem php? – thevoipman
Nie wiem, PHP z góry mojej głowy, ale jestem pewien, że ma stosunkowo prosty mechanizm sprawdzania, czy plik istnieje. –