curl
, -O
ve -J
ile kullanıldığında dosyaların atlanmasını destekleyebilir, ancak davranışı tutarsızdır.
temelde yerine URL'den bir dosya adı çıkarma Sunucu tarafından belirlenen Content-Disposition
dosya adı kullanmak -O
(--remote-name
) seçeneğini söyler -J
(--remote-header-name
). Bu şekilde, curl
, sunucunun hangi dosya adının döneceğini bilmez, bu nedenle güvenlik önlemi için mevcut dosyayı yok sayabilir.
Kaynak: Örneğin Re: -J "Refusing to overwrite..."
: önce de belirtildiği gibi
$ 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)
Ancak, öngörülemeyen davranıştır ve tüm dosyalar için çalışmaz.
Çok yardımcı, bunu işaret ettiğin için teşekkür ederim. ama bunu php ile yapıyorum, eğer php ile bu ifadeyi nasıl çalıştırabilirim? – thevoipman
PHP'yi başımın üstünden bilmiyorum, ama eminim ki bir dosya olup olmadığını görmek için nispeten basit bir mekanizma var. –