Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[PHP] Ściąganie pliki - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [PHP] Ściąganie pliki (/thread-php-%C5%9Bciaganie-pliki)



[PHP] Ściąganie pliki - Pawel1503 - 12-03-2011

Witam ! Smile

Piszę sobie ostatnio taką małą strone i napotkałem problem przy ściąganiu pliku z serwera. Generalnie chodzi o to że mam taki skrypt:

Kod:
$filename = 'saves/'.$Nazwa_pliku;
header('Content-Type:application/force-download');
header('Content-Disposition: attachment; filename="'.basename($filename).'";');
header('Content-Length:'.@filesize($filename));
@readfile($filename)or die('File not found.');

$Nazwa pliku to po prostu nazwa pliku ;D

I gdy próbuje go odpalić, owszem, wyskakuje mi okienko ściągania, ale plik zamiast normalnych 35 kb ma 3 bajty. Plik na pewno jest.

Od razu dodam że testuje wszystko na cba.pl. Co zrobić żeby naprawić ten błąd ?

Pozdrawiam !


RE: [PHP] Ściąganie pliki - Bartez119 - 12-03-2011

A rozszerzenie pliku też podajesz w nazwie pliku czy nie? Bo to może być przyczyną.


RE: [PHP] Ściąganie pliki - Pawel1503 - 12-03-2011

Tak, rozszerzenie pliku również podaje (u mnie jest to *.upc).

EDIT: Nie wiem dlaczego, ale ściąganie nagle zaczęło działać. Dzięki ; )
Ehh, jednak coś nie tak jest. Generalnie plik się ściąga, wielkość jest odpowiednia, ale np. zamiast jakiegoś tekstu mam wszystko w formie binarnej:

e8efede9f0eeeaf0eee9f0eee9f0eee9f1eee9f1eee9f1eee9f1efe9f1efe9f1efe9f1efeaf1ef
eaf1efeaf1efeaf1efeaf1efeaf1efeaf2efeaf2efeaf2efeaf2efeaf2efeaf2f0eaf2f0eaf2f0
eaf2f0eaf2f0eaf2f0eaf2f0eaf2f0ebf2f0ebf2f0ebf3f0ebf3f0ebf3f0ebf3f0ebf3f0ebf3f0
ebf3f0ebf3f1ebf3f1ebf3f1ebf3f1ebf3f1ebf3f1ebf3f1ebf4f1ebf4f1ebf4f1ebf4f1ebf4f1
ebf4f1ebf4f1ecf4f1ecf4f1ecf4f1ecf4f1ecf4f1ecf4f1ecf4f2ecf4f2ecf4f2ecf4f2ecf4f2
ecf4f2ecf4f2ecf4f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2
ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2ecf5f2edf5f2edf5f2edf5f2

Tutaj jeszcze daje skrypt:

Kod:
header('Content-Type:application/force-download');
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition: attachment; filename="'.basename($filename).'";');
header("Content-Transfer-Encoding: binary");
header('Content-Length:'.@filesize($filename));
@readfile($filename)or die('File not found.');