Başka bir sunucuda Dosya yeniden adlandırma kullanıcı indirme gibi bu [2] - PHP kullanarak

3 Cevap php

Zaten bugün bu soruyu sordum ama var ben JavaScript o kadar değildi çünkü ben PHP ile bu elde edebilirsiniz bilmek istiyorum bu sefer.

Ben başka bir sunucuda bir dosyaya bir bağlantı var. Benim kullanıcılara bu bağlantıyı sağlamak eğer başlıkları bu sunucudan bu dosyayı indirmek için dışarı itilir.

Is there a way for me to capture those headers and file and redirect the download to the user? I would like to do this so that I can change the filename of the download since it is always 'file.zip'.

Bu PHP ile mümkün mü?

Herhangi bir yardım için teşekkür ederiz.

3 Cevap

Bunu yapabileceğini ve çeşitli şekillerde yapabilirsiniz.

1) (simple) copy the file to your server, and rename it. Point your download links to this copy.
2) (harder) Create a stub php file, called , read the file from the remote server within php, and stream the content to the script output. This will need you to set appropriate headers, etc. as well as setting up your webserver to parse through PHP.

Cidden, ben seçeneği 1 ile giderdik. (Eğer içerik sunmak için yasal bir hakkı var vs varsayar)

Sen curl kullanarak sunucuya dosya indirmek ve (a Content-Disposition başlığı ile) doğru bir şekilde hizmet edebilir. Sürece HTTP kullanarak gibi, sadece başlık göndermek ve başka bir sunucu istemci doğrudan içerik akışı için hiçbir yolu yoktur.

Belki aşağıdaki benzer bir komut dosyası kullanabilirsiniz:

<?php
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://www.example.com/the_path/file.zip");
  header('Content-Disposition: attachment; filename="alternate_filename.zip"');
  exit();
?>