Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]ściąganie dużego pliku z serwera
matjab
post 15.10.2009, 09:15:41
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 6.05.2009

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


Witam wszystkich.
W projekcie, który właśnie realizuje natrafiłem na następujący problem:
Chciałbym umożliwić użytkownikowi pobranie zdjęcia po naciśnięciu przycisku. Zależy mi na tym, żeby nie wyświetlać tego zdjęcia:
  1. header('Content-type: image/jpeg');
  2. header('Content-Disposition: attachment; filename="'.$name.'"');
  3. header('Content-Length: '.filesize($name));

Niestety zaimplementowany przeze mnie mechanizm nie działa. Chciałbym podac w zmiennej $name ścieżkę do pliku i załatwione, ale kiedy tak robię przy próbie otwarcia ściągniętego zdjęcia ukazuje się napis 'Podgląd niedostępny'.
Z uwagi na fakt, że chodzi o ściąganie zdjęć, które ważą ok 4MB - może chodzi o jakieś ustawienia serwera...
Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 15.10.2009, 09:18:26
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Z uwagi na fakt, że chodzi o ściąganie zdjęć, które ważą ok 4MB
A probowales to zrobic na jakimś mniejszym zdjęciu, np 300KB? też nie działało?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
matjab
post 15.10.2009, 10:07:50
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 6.05.2009

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


Sprawdzilem - nie działa! Więc powód musi być inny - chyba raczej w kodzie.. dry.gif

Jak rozumiem ścieżka w zmiennej $name powinna być wzglądna..
Go to the top of the page
+Quote Post
nospor
post 15.10.2009, 10:11:37
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




no i nie mozna bylo tak od razu? Musiałeś wyjśc ze zgadywaniem problemu? Popraw tytuł bo ma sie nijak teraz do problemu.

http://pl.php.net/manual/pl/function.header.php
i tam masz taki kod:
  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. ?>

Porównaj to sobie z tym co ty masz a moze znajdziesz rożnice winksmiley.jpg

Cytat
Jak rozumiem ścieżka w zmiennej $name powinna być wzglądna..
zacznijmy od tego ze filename nie oznacza sciezki do pliku a nazwe pliku. Wszystko masz w kodzie co podalem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
matjab
post 17.10.2009, 00:18:06
Post #5





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 6.05.2009

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


Rzeczywiście był błąd, ale niestety jego usunięcie nie rozwiązuje problemu. Po zapisaniu zdjęcia na dysku nadal mamy 'podgląd niedostępny', choć podaje chyba dobrą ścieżkę do pliku, bo np. prawidłowo szacuje jego rozmiar.

Mój kod:
  1. header('Content-type: image/jpeg');
  2. header('Content-Disposition: attachment; filename="downloaded.jpeg"');
  3. readfile($path);

W zmiennej $path znajduje sie oczywiście ścieżka do pliku .jpeg no i z przodu ma $_SERVER['DOCUMENT_ROOT']
Jakieś pomysły? worriedsmiley.gif
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: 19.07.2025 - 11:47