Kombinuje jak koń pod górkę i zrobiłem udostępnianie pliku zip na takiej podstawie:
  1. if ($host_domain == $host_client) {
  2. $filename = "zefir.zip";
  3. $version = "100alpha";
  4. $filepath = $_SERVER["DOCUMENT_ROOT"]."/zefir/versions/".$version."/";
  5. echo $filepath.$filename;
  6.  
  7. // http headers for zip downloads
  8. header("Pragma: public");
  9. header("Expires: 0");
  10. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  11. header("Cache-Control: public");
  12. header("Content-Description: File Transfer");
  13. header("Content-type: application/octet-stream");
  14. header("Content-Disposition: attachment; filename=\"".$filename."\"");
  15. header("Content-Transfer-Encoding: binary");
  16. header("Content-Length: ".filesize($filepath.$filename));
  17. @readfile($filepath.$filename);
  18.  
  19.  
  20. }


Ogólnie wszystko już działa, plik pobiera z zewnętrznego serwera, sprawdza po hoście czy domena należy do serwera, ale w taki sposób pobranego pliku nie chce otworzyć. Jak udostępnić inaczej plik aby funkcja podana poniżej go czytała:

  1. /* Otwieranie pliku */
  2. $zip = new ZipArchive;
  3. $extractPath = $_SER$fileis = $_SERVER["DOCUMENT_ROOT"]."/admin/download/zefir.zip";
  4. if (file_exists($fileis)) {VER["DOCUMENT_ROOT"]."/admin";
  5.  
  6. if($zip->open($fileis) != "true"){
  7. echo "Error :- Unable to open the Zip File";
  8. }
  9. } else {
  10. echo "nie znaleziono pliku ";
  11. }


Jak wrzucę czysty plik, lub normalnie plik pobierze z serwera to wszystko działa, ale mi głównie zależy na tym aby ten plik nie był dostępny bez przejścia po stronie php. Nawet w .htaccess mam dostęp do bezpośredniej ścieżki pliku zablokowany na redirect do strony "Not access"

Dobra, problemem było echo powyżej dodawanego headera, przez co dodawało się to do pliku i nie mogło go odczytać. Wszystko już działa poprawnie