Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie plików
Forum PHP.pl > Forum > PHP
cichy19-
Witam,

Mam problem z pobraniem pliku zip z serwera.
Napisałem juz skrypt tworzący plik zip składający się z 3 plików. Utworzone pliki zapisuje w katalogu /zip.

Problem mam z pobraniem tego plikuodrazu po jego utworzeniu i zapisaniu w katalogu /zip.
Wiem że mozna użyc funkcji header ale działa to tylko jeśli plik do pobrania umieszczony jest w tym samym katalogu.

Bardzo prosze o pomoc.
nexis
Mógłbyś pokazać kawałek kodu i wskazać gdzie pojawia się problem?
cichy19-
Plik do pobrania znajduje sie w katalogu zip/
Natomiast skrypt do pobierania pliku znajduje sie w katalogu głównym.
Problem pojawia sie w tym momencie:

  1. <?php
  2. header("Content-type: application/octetstream");
  3. header("Content-Disposition: inline; filename=plik.zip");
  4. ?>


Chodzi o to że przecież nie da rady zrobić wpisu typu filename=./zip/plik.zip

Pomocy
nexis
W Content-Disposition ustalasz jedynie nazwę pliku, a właściwy plik zwracasz tak:

  1. <?php
  2. $dir  = 'zip/';
  3. $file = 'plik.zip';
  4. header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
  5. header('Cache-Control: no-store, no-cache, must-revalidate');
  6. header('Cache-Control: pre-check=0, post-check=0, max-age=0');
  7. header('Content-Transfer-Encoding: none');
  8. header('Content-Type: application/octetstream; name="' . $file . '"'); // IE & Opera
  9. header('Content-Type: application/octet-stream; name="' . $file . '"'); // Reszta
  10. header('Content-Disposition: inline; filename="' . $file . '"');
  11. header("Content-length: " . filesize($dir . $file);
  12. readfile($dir . $file);
  13. ?>
cichy19-
Wielkie dzięki. Działa!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.