Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]pobieranie pliku na dysk poprzez kliknięcie na link
Forum PHP.pl > Forum > Przedszkole
northwest
Witam serdecznie.
mam katalog pełen zdjęć. Chciałbym zrobić skrypt, który "ukryje" prawdziwe ścieżki przed użytkownikiem i umożliwi ściągnięcie zdjęcia na dysk użytkownika.
Czyli reasumując:
1. mamy link "download" ( <a href=''>download</a>)
2. klikamy go
3. rozpoczyna się ściąganie zdjęcia na dysk.

Działałoby to na zasadzie download.php?id=1 - gdzie id oznaczałoby kod zdjęcia które będziemy pobierali....

Macie może jakiś pomysł jak to wykonać?


Z góry dziękuję za pomoc,
Pozdrawiam Northwest
b4rt3kk
Źródła obrazka nie ukryjesz, musi tam być. Mógłbyś się bawić z css, ale kto będzie chciał to i tam zajrzy.
northwest
aha,rozumiem smile.gif

a jak zrobić w php tak, żeby po kliknięciu w skrypt rozpoczęło się ściąganie zdjęcia na dysk??smile.gif
ssstrz
Cytat(northwest @ 21.06.2013, 09:16:40 ) *
aha,rozumiem smile.gif

a jak zrobić w php tak, żeby po kliknięciu w skrypt rozpoczęło się ściąganie zdjęcia na dysk??smile.gif

Np tak:
  1. // Create a blank image and add some text
  2. $im = imagecreatetruecolor(120, 20);
  3. $text_color = imagecolorallocate($im, 233, 14, 91);
  4. imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
  5.  
  6. // Set the content type header - in this case image/jpeg
  7. header('Content-Type: image/jpeg');
  8. header('Content-Description: File Transfer');
  9. header('Content-Disposition: attachment; filename="tu masz nazwe"');
  10.  
  11. // Output the image
  12. imagejpeg($im);
  13.  
  14. // Free up memory
  15. imagedestroy($im);
northwest
dziękuję smile.gif
a gdybym chciał wskazać w pliku nazwę konkretnego pliku do ściągnięcia - i bez napisu żeby to było (ewentualnie ze znakiem wodnym)?


znalazłem taki kod:

  1. <?php
  2. $filename = 'error.png';//wybieramy plik do ściągnięcia
  3. header('Content-Type:application/force-download');//ustawiamy mu uniwersalny typ mime (można bawić się w nadawanie mu application/msword, image/gif, itd...
  4. header('Content-Disposition: attachment; filename='.basename($filename).';');//tutaj podajemy nazwę pliku - domyślnie ustawiłem, aby plik nazywał się tak jak oryginał
  5. header('Content-Length:'.@filesize($filename));//dodajemy wielkość pliku
  6. @readfile($filename)or die('File not found.');//czytamy plik
  7. ?>


Pliki się automatycznie ściągają, jednak jest problem z tym iż pobrane pliki graficzne (w tym przypadku png) nie otwierają się po pobraniu (wyskakuje błąd)...
Wiecie może dlaczego??
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.