Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie plików
cichy19-
post 15.10.2008, 19:41:34
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
nexis
post 15.10.2008, 20:34:47
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Mógłbyś pokazać kawałek kodu i wskazać gdzie pojawia się problem?


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
cichy19-
post 15.10.2008, 20:54:00
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nexis
post 15.10.2008, 21:21:38
Post #4





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował nexis 15.10.2008, 21:21:54


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
cichy19-
post 15.10.2008, 21:40:01
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

Ostrzeżenie: (0%)
-----


Wielkie dzięki. Działa!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 02:16