Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z downloadem pliku 'doc, zapisuje plik, ale nie ten który trzeba
gam3r
post 18.10.2005, 10:49:21
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 0
Dołączył: 8.06.2005

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


Witam, mam pewien problem, chce zrobić download pliku w formacie .doc, próbowałem już wiele sposobów m.in. z manuala php.net z przykładów tam zamieszczonych, w jednej z książek które mam równieżto tam opisane ale nic z tego, aha i na forum też szukałem ale też to nie działa, no chyba że coś źle robię.
No więc tak: w pasku url jest zmienna $_GET['id'] która przechowuj nazwe pliku, tzn. jego pierwszą część, bo każdy plik możliwy do ściągnięcia ma rozszerzenie .doc, pliki te znajdują się w folderze data/cribs/. Naciskam link aby zassać plik, no i wszystko ładnie się zapisuje, ale kiedy go otwieram w środku mam zapisany plik HTML strony w formacie .doc a nie ten plik o który mi chodziło.
Mam apache 2, php 4.3.10 pod WIN, przeglądarki IE & FF, poroszę o pomoc:)
  1. <?php
  2. $id=$_GET['id'];
  3. $filesize=filesize("data/cribs/$id.doc");
  4. $filename='$id.doc';
  5.  
  6. $file="data/cribs/".$filename;
  7.  
  8. header("Content-type: application/msword");
  9. header("Content-Transfer-Encoding: Binary");
  10. header("Content-length: $filesize");
  11. header("Content-disposition: attachment; filename=$filename");
  12. readfile("$file");
  13. ?>


Ten post edytował gam3r 18.10.2005, 10:50:51
Go to the top of the page
+Quote Post
nospor
post 18.10.2005, 10:56:20
Post #2





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




masz blad. źle generujesz nazwe pliku:
masz
  1. <?php
  2. $filename='$id.doc';
  3. ?>

a powinno byc:
  1. <?php
  2. $filename="$id.doc";
  3. ?>

w pojedynczych ciapkach (') nie interpretuje zmiennych


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

"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
gam3r
post 18.10.2005, 11:04:56
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 0
Dołączył: 8.06.2005

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


kurna no rzeczywiście biggrin.gif taki banał ehhh worriedsmiley.gif dzięki teraz wszystko ok
Go to the top of the page
+Quote Post
martix
post 20.02.2009, 12:11:30
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.02.2009
Skąd: Bydgoszcz

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


Witam. Mam taki sam problem i już nie wiem jak sobie z nim poradzić sciana.gif . Wyświetla sie okno zapisywania, zapisuje plik, wszystko pieknie, ładnie , ale po otwarciu nie pojawia sie właściwa treść pliku, tylko treść strony. A przy zdjęciach, pisze że plik jest niedostępny. Co jest nie tak? Błagam, pomóżcie...
Kod
$plik=$dane['p_nazwa'];    header('Content-Type: application/x-unknown');    header('Content-Disposition: attachment; filename='.$plik.'');    readfile ('pliki/'.$plik.'');


Ten post edytował martix 20.02.2009, 12:13:02
Go to the top of the page
+Quote Post
nospor
post 20.02.2009, 12:14:24
Post #5





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




zakladam ze twoj serwer obsluguje php winksmiley.jpg

skrypty zaczynaj tak <?php a nie <?


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

"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
martix
post 20.02.2009, 12:17:31
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.02.2009
Skąd: Bydgoszcz

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


mam rozpoczęty od <?php , walcze juz z tym drugi dzień.
Go to the top of the page
+Quote Post
webasek
post 20.02.2009, 12:27:36
Post #7





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


A spróbuj tak:

  1. <?php
  2. $d = "pełna ścieżka pliku";
  3. header("Content-Type: application/save");
  4. header("Cache-Control: public, must-revalidate");
  5. header("Content-Disposition: attachment; filename=".basename($d).";");
  6. $fh = readfile($d);
  7. fpassthru($fh);
  8. ?>


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
martix
post 20.02.2009, 12:39:43
Post #8





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.02.2009
Skąd: Bydgoszcz

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


Niestety nie pomoglo. Plik jest ściągany z ftp. Nie wiem czy to ma znaczenie. Oprócz kodu łaczenia z ftp, pobieranie jest zawarte w pętli i wygląda tak:

CODE

<?php
$szukkat = "select * from `dopobrania` where id_pliku='$ust'";
$odpszukkat = mysql_query ($szukkat);
while($dane = mysql_fetch_assoc($odpszukkat))
{
$d = "/marta/pliki/test.txt";
header("Content-Type: application/save");
header("Cache-Control: public, must-revalidate");
header("Content-Disposition: attachment; filename=".basename($d).";");
$fh = readfile($d);
fpassthru($fh);

}
?>

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: 28.06.2025 - 04:12