Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]pobieranie pliku na dysk poprzez kliknięcie na link
northwest
post 20.06.2013, 23:31:06
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
b4rt3kk
post 21.06.2013, 00:01:53
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


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


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
northwest
post 21.06.2013, 08:16:40
Post #3





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
ssstrz
post 21.06.2013, 08:47:54
Post #4





Grupa: Zarejestrowani
Postów: 103
Pomógł: 17
Dołączył: 15.12.2012

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


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);
Go to the top of the page
+Quote Post
northwest
post 24.06.2013, 19:47:31
Post #5





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


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??
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: 30.04.2025 - 07:57