Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pobieranie zdjęcia po kliknięciu
Woijtek338
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 5.06.2011

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


Witam! Mam nastepujący problem:
Po kliknięciu na obrazek wyświeltam JS przycisk. Po naciśnięciu chciałem, aby pobrał się on na dysk. W tym celu użyłem kodu:
  1. if(isset($_POST['pobieranie']))
  2. {
  3. $path = $_SERVER['../'];
  4.  
  5. $fullPath = $_POST['hid'];
  6. if ($fd = fopen ($fullPath, "r")) {
  7. $fsize = filesize($fullPath);
  8. $path_parts = pathinfo($fullPath);
  9. $ext = strtolower($path_parts["extension"]);
  10. switch ($ext) {
  11. case "jpg":
  12. header("Content-type: image/jpg");
  13. header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\"");
  14. break;
  15. default;
  16. header("Pragma: public");
  17. header("Expires: 0");
  18. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  19. header("Content-type: application/octet-stream");
  20. header("Content-Disposition: filename=\"".$path_parts["basename"]."\"");
  21. }
  22. header("Content-length: $fsize");
  23. header("Cache-control: private");
  24. while(!feof($fd)) {
  25. $buffer = fread($fd, 2048);
  26. echo $buffer;
  27. }
  28. }
  29. fclose ($fd);
  30. }

Gdzie $_POST[hid] to ukryte pole, do którego wpisuje się javascriptem pełna ścieżka z serwera np: http://x.pl/n05922.jpg .

Problem polega na tym że po kliknięciu przycisku zamiast ściągnąć na dysk, tak jakby echuje mi zawartość zdjęcia na stronie a dokładnie taki ciąg znaków: ...
'ŰřťZˇƒ^Ő"†;ůŐ#KÉUC°pĽT>.ń(ÇüOőS•›É=>ľOĹ˙ň:kßö¸˙эU:Ăò2ť7 ńfźěDŢ"Րc‚/$äúu¨żá,ń&OüTŽ˙ŸŮ?ƲS$ÓOŤA]š˙đ–ř“ţ† W˙d˙CâßgţFW˙$˙ÇçҔi ěݡń_ˆŒ„ˇˆ5RĄI9ź“ƒůÔGĹž$$‘â T ˙ĎäŸăY@•FżZ,;ł[ţßgţF[˙d˙OřK|K˙C­˙˛d“֍ŁÔš,;łcţßt˙„ƒUĎý~Iţ5"xłÄ{÷jťTÓ$˙ÄŔĎCNčÁ Œhť5á-ń!9> Նy˙É?ƁâĎ“˙#­˙˛ecÉý*)%ÚО0>˝óK­’ •ŮŽŢ- ....

Dlaczego ?
Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Zawsze tego powodem jest posłanie fotki jako ciągu znaków, bez określenia nagłówka. Sprawdź jako co posyłasz ten obrazek. Masz przeglądarkę to sprawdź wspomniane nagłówki. Jeśli faktycznie przeglądarka otrzymuje nagłówek właściwy to choćby się uparła, pobierze to jako obrazek, niezależnie co to będzie. To co jeszcze mi przychodzi do głowy to zwalona ścieżka (co sugeruje mój skrypt) lub z rozpędu posyłasz nie tylko obrazek, ale także coś jeszcze i to "coś" rozwala przesył bo miesza w nagłówkach.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 17.10.2025 - 01:29