Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] ściąganie pliku a nie jego otwieranie
Forum PHP.pl > Forum > Przedszkole
piotrd
stworzyłem sobie system download ktorego kod odpowiedzialny za pobieranie znajduje sie ponizej:
  1. FUNCTION pobierz($id) {
  2. $query = "SELECT adres FROM pliki WHERE id='$id'";
  3. $wynik = mysql_query($query);
  4. $row = mysql_fetch_array($wynik);
  5. header("Location: " . $row['adres'] . "");
  6. $query = "UPDATE pliki SET ilosc_pobran=ilosc_pobran+1 WHERE id='$id'";
  7. $wynik = mysql_query($query);
  8. exit();
  9. }

problem polega na tym, ze
  1. <?php
  2. header("Location: " . $row['adres'] . "");
  3. ?>
powoduje otwarcie pliku np pdf a nie jego ściągnięcie. Ma ktos pomysl aby to zmienic?
mike
Czytaj manuala będziesz wielki biggrin.gif

header()

Przykład wyjęty z linka powyżej:
  1. <?php
  2. // We'll be outputting a PDF
  3. header('Content-type: application/pdf');
  4.  
  5. // It will be called downloaded.pdf
  6. header('Content-Disposition: attachment; filename="downloaded.pdf"');
  7.  
  8. // The PDF source is in original.pdf
  9. readfile('original.pdf');
  10. ?>
piotrd
czyli zmienic na np:
  1. <?php
  2. header('Content-type: application/pdf');
  3. header('Content-Disposition: attachment; filename="" . $row['nazwa'] . ".pdf"');
  4. readfile('" . $row['nazwa'] . ".pdf');
  5. header("Location: " . $row['adres'] . "");
  6. ?>

?
a co z innymi typami plików? mam ograniczyc sie przez to tylko do pdf? winksmiley.jpg
mike
Cytat(piotrd @ 12.07.2006, 19:17 ) *
a co z innymi typami plików? mam ograniczyc sie przez to tylko do pdf? winksmiley.jpg

Jak to co?
Zmieniasz tym MIME w nagłówku header i tyle.
No i oczywiście nazwy.

Tu masz listę jakbyśpotrzebował: Mime Types List

Pamiętaj też że php posiada funkcję mime_content_type(), która może Ci się przydać.
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.