Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> header() - wielokrotny download
redman2
post 1.03.2006, 10:31:12
Post #1





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 13.10.2004

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


Czy spotkal sie ktos z problemem wysylania naglowkow w petli?

W moim przypadku chodzi o download kilku plikow z bazy MySQL.

Jezeli zrobie to w petli, dziala tylko raz. Dla jednego naglowka. Potem wychodzi calkowicie ze skryptu.

Jak ten problem rozwiazac?

  1. <?php
  2.  
  3.  
  4.  
  5. foreach ($keyarray as $key => $value) {
  6.  
  7. if (strstr($key,'item_number')!=FALSE) {
  8.  
  9.  
  10.  
  11. $dbQuery = "SELECT * FROM micropayments WHERE id = '$value' ";
  12.  
  13. $result = mysql_query($dbQuery) or die("Couldn't get file list");
  14.  
  15. if(mysql_num_rows($result) == 1) {
  16.  
  17. while ($row = mysql_fetch_array($result)) {
  18.  
  19. $fileContent = $row['pdf'];
  20. $fileTitle = $row['title'].".pdf";
  21.  
  22. if(isset($_SERVER['HTTP_USER_AGENT']) && preg_match("/MSIE/", $_SERVER['HTTP_USER_AGENT'])) {
  23.  // IE Bug in download name workaround
  24.  ini_set( 'zlib.output_compression','Off' );
  25.  } 
  26.  
  27.  header("Pragma: public");
  28.  header("Expires: 0");
  29.  header("Cache-Control: public");
  30.  header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  31.  header("Content-type: application/pdf");
  32.  header('Content-Disposition: attachment; filename="' . $fileTitle . '"');
  33.  header("Content-Transfer-Encoding: binary");
  34.  
  35. echo $fileContent;
  36. }
  37. } else echo "Record doesn't exist.";
  38.  
  39. }
  40.  
  41. }
  42.  
  43. ?>
Go to the top of the page
+Quote Post
nospor
post 1.03.2006, 10:36:18
Post #2





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




no niestety. mozesz wyslac tylko jeden plik do downloadu na raz. Jak chcesz kilka, to musisz znich zrobic paczkę i dopiero ją wyslac


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

"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
redman2
post 1.03.2006, 12:56:14
Post #3





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 13.10.2004

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


Dziekuje za odpowiedz. Jaka paczke ?
Go to the top of the page
+Quote Post
nospor
post 1.03.2006, 12:57:12
Post #4





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




oj...
no naprzyklad plik .zip (znaczy spakowany winksmiley.jpg ). utworzony ze wszystkich plikow co chcesz wyslac. O zipie bylo juz na forum smile.gif


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

"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
redman2
post 1.03.2006, 14:10:47
Post #5





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 13.10.2004

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


Tylko jak zrobic zipa z pdf'ow, ktore trzymam w polu BLOB ?

Przeciez pobieram te pliki osobno i osobno je musze przetwarzac. Nie moge z tego przeciez zrobic zipa questionmark.gif?

Poza tym jak "zzipujesz" cos z poziomu php ?
Go to the top of the page
+Quote Post
nospor
post 1.03.2006, 14:13:47
Post #6





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




Cytat
Poza tym jak "zzipujesz" cos z poziomu php ?
Jak juz pisalem: byly o tym dyskusje na forum, wystarczy poszukac
ype=topics&highlite=zip' target='_blank


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

"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
redman2
post 1.03.2006, 23:02:36
Post #7





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 13.10.2004

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


Dzięki za sarkastyczną uwagę. biggrin.gif

Zippowanie nic mi nie da, bo pliki muszą być ściągane niezależnie, w sensie osobno.
Nie może to być jeden plik.

Może coś na zasadzie zapamiętania id w sesji i kolejnego otwierania nowego okna, w którym to wyciągane będzie id z tejże sesji i wywoływany header questionmark.gif?

Nie wiem, kombinuję.
Go to the top of the page
+Quote Post
nospor
post 1.03.2006, 23:28:28
Post #8





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




Cytat
Dzięki za sarkastyczną uwagę
Z poslkiego byłem cienki i może czegoś nie łapię. która to uwaga niby była sarkastyczna?

Cytat
Może coś na zasadzie zapamiętania id w sesji i kolejnego otwierania nowego okna, w którym to wyciągane będzie id z tejże sesji i wywoływany header questionmark.gif?
Hmmm, jakoś sobie tego nie wyobrażam.
A moze tak:
strona generuje ci js, ktory otwiera kolejne popupy, a każdy z nich wysyla ządanie do konkretnego pliku?

Cytat
Nie wiem, kombinuję.
Ja tez smile.gif


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

"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
redman2
post 1.03.2006, 23:39:35
Post #9





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 13.10.2004

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


Sarkazm? Z tą uwagą na temat wyszukiwania. Zresztą nieważne. Trzymajmy się tematu.

JS też nie jest rozwiązaniem idealnym, bo mój system polega na sprzedaży PDF'ów, które są możliwe do ściągnięcia dopiero po pozytywnej weryfikacji zapłaty przez PayPal.

Co, jeżeli ktoś zapłaci i nic mu nie "wyskoczy" bo ma zablokowane JS?

Nie jest to, wydaje mi się, rozwiązanie profesjonalne i może stwarzać potrzebę dodatkowego wysyłania ludziom PDF'ów ręcznie (co nie bardzo mi na "rękę").

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 1.03.2006, 23:44:01
Post #10





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




Cytat
Sarkazm? Z tą uwagą na temat wyszukiwania
Jesli tak to odebrales - to przepraszam. To nie bylo moim zamiarem.

NIe do konca rozumiem, czemu to nie może być jedna paczka. Skoro koles zaplacil za zestaw pdf'ow, to co mu za roznica jak je dostanie? PRzeszkadza w czyms zip? Tylko mu sie to szybciej ściągnie. Nic, tylko się cieszyc winksmiley.jpg

Ewentualnie mozesz na stronie wygenerowac linki do kazdego pdf i niech se pokolei klika w nie. Dodaj dodatkowo mozliwosc pobrania paczki. Bedzie mial wybor: klikac x razy czy raz


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

"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
redman2
post 2.03.2006, 00:02:55
Post #11





Grupa: Zarejestrowani
Postów: 104
Pomógł: 3
Dołączył: 13.10.2004

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


Nie ma sprawy, żartowałem smile.gif

Nie mogę wygenerować linka do pdf'a, ponieważ wszystko musi iść przez POST. Nie może być jawnych danych. Dlatego też wrzuciłem wszystkie PDF'y do BLOB'a. Nie są trzymane fizycznie na serwerze.

Mechanizm "downloadu" generowany jest na podstawie raportu otrzymanego od PayPal.
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 - 04:05