Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]ściąganie dużego pliku z serwera
Forum PHP.pl > Forum > Przedszkole
matjab
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
nospor
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?
matjab
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..
nospor
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
matjab
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
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.