Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pobieranie plików, bez pokazywania ścieżki
tomasz_po
post 5.02.2010, 13:59:04
Post #1





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 18.10.2007

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


  1. header('Content-Description: File Transfer');
  2. header('Content-Type: application/octet-stream');
  3. header('Content-Disposition: attachment; filename='.basename($file));
  4. header('Content-Transfer-Encoding: binary');
  5. header('Expires: 0');
  6. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  7. header('Pragma: public');
  8. header('Content-Length: ' . filesize($file));
  9. flush();
  10. readfile($file);

Mam taki skrypt do pobierana plików bez ukazywania ścieżki w Firefoxie pobiera pliki, ale w IE niestety zaczyna pobieranie i odrazu rozłącza i plik ma 0 bajtów. Czy da się to jakoś przerobić, albo macie inne sposoby na rozwiązanie tego problemu by pobierać pliki bez pokazywania ścieżki.

Ten post edytował tomasz_po 5.02.2010, 14:00:33
Go to the top of the page
+Quote Post
phpion
post 5.02.2010, 14:01:12
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




No fajnie, ale co z tego? Jakieś masz pytania? Wali błędami? Po wklejeniu samego kodu ciężko udzielić jakiejkolwiek pomocy (o ile takowej potrzebujesz).
Go to the top of the page
+Quote Post
Pilsener
post 5.02.2010, 14:20:56
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Poszukaj, było na forum wiele razy, ja robię np. tak i w IE działa:
  1. $plik = file_get_contents($czyi);
  2. header("Content-Type: application/vnd.ms-excel");
  3. echo $plik;
  4. die();


A jak chcesz mieć większy wypas:
  1. header("Content-Type: $mime");
  2. header("Expires: ".gmdate('D, d M Y H:i:s')." GMT");
  3. header("Content-Disposition: attachment; filename = $nazwa"); //Dla IE:
  4. header("Cache-Control: must-revalidate, post-check = 0, pre-check = 0");
  5. header("Pragma: public");
  6. header("Content-Disposition: attachment; filename = $nazwa"); // Dla reszty:
  7. header("Pragma: no-cache");
  8. header("Content-Length:".$wielkosc);
- wystarczy wstawić odpowiednie zmienne. I warto też plik wysyłać na raty lub linia po linii, by nie obciążać pamięci.
Go to the top of the page
+Quote Post
tomasz_po
post 5.02.2010, 16:00:41
Post #4





Grupa: Zarejestrowani
Postów: 80
Pomógł: 0
Dołączył: 18.10.2007

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


A moglbys pokazac jak wysylac plik na raty albo linia po lini? i co wstawic w zmiena mime
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: 14.08.2025 - 16:34