Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MSSQL][HTML][PHP] Pobieranie plikow PDF zamiast automatycznego otwierania w FF(IE)
Kinslayer
post 1.07.2010, 10:09:14
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.07.2010

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


Witam, jako iz jest to moj 1 post na tym forum pragnalbym sie przywitac smile.gif

Problem moj polega na tym, iz na stronce mam sporo plikow PDF pobieranych z bazy mysql.
Wszystko to jest przedstawione za pomoca kodu html/php i wyswietlone na stronce, jednakze uzytkownikowi po kliknieciu w linka do PDFa zostaje on automatycznie otworzony. Chcialbym aby pojawialo sie okienko zapisz jako.

Siedze juz od rana i szukam, testuje, ale niestety nie udalo mi sie nic sprawdzic sad.gif

Kod na stronce wyglada tak:
  1. <td style="border-bottom:1px solid #C5D3D9;"><a href="przetargi,'.$Przetarg['id'].',2.html" style="border:0;" onmouseover="return escape(\'Pobierz: Ogłoszenie przetargu\')"><img src="pliki/pdf.gif" alt="" style="border:0;" /></a></td>'.


Po najechaniu kursorem nad ikonke PDFa do pobrania link wyglada tak: http.... .pl/przetarg,124,2.html . Klikajac na to pobierany jest z bazy PDF. Czasem pliki maja po 20-30 MB i lepiej aby uzytkownik wiedzial czy sie on wogole pobiera czy co sie z nim dzieje smile.gif

Z gory dziekuje za wszelka pomoc.
Go to the top of the page
+Quote Post
thek
post 1.07.2010, 10:12:26
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jedno słowo: headers smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Kinslayer
post 1.07.2010, 10:32:40
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.07.2010

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


No wlasnie tez na to trafialem, ale kod ktory znajdowalem byl bardzo zawily biggrin.gif, wkleje kod do mojej calej podstrony. Moze to cos pomoze smile.gif

  1. <h1>Przetargi</h1>
  2. <p><a href="http://www.adobe.com/products/acrobat/readstep2.html">Przeglądarka plików PDF</a></p>
  3.  
  4. <center>
  5. <table cellpadding="6" cellspacing="0" style="width:540px; margin:20px auto;">
  6. <?
  7. if (!isset($_GET['item']))
  8. {
  9. $PrzetargDB = mysql_query("SELECT * FROM przetargi ORDER BY date_exp DESC, time_exp ASC;");
  10.  
  11. $Numer = 1;
  12. while ($Przetarg = mysql_fetch_array($PrzetargDB))
  13. {
  14. $Data_z = date('d.m.Y', strtotime(substr($Przetarg['date_add'], 0, 10)));
  15. $Data_p = date('d.m.Y', strtotime(substr($Przetarg['date_exp'], 0, 10)));
  16. $Godz_p = date('H:i', strtotime(substr($Przetarg['time_exp'], 0, 10)));
  17.  
  18. echo '<tr>'.
  19. ' <td style="border-bottom:1px solid #C5D3D9; width:15px;" valign="top" rowspan="2">'.$Numer.'.</td>'.
  20. ' <td valign="top"><a href="przetargi,'.$Przetarg['id'].',2.html"><b>'.$Przetarg['name'].'</b></a> <span class="licznik-pobran">('.$Przetarg['licznik'].')</span><br /><span style="font-size:11px;">'.$Przetarg['topic'].'</span></td>'.
  21. ' <td><a href="przetargi,'.$Przetarg['id'].',1.html" style="border:0;" onmouseover="return escape(\'Pobierz: SIWZ\')"><img src="pliki/pdf.gif" alt="" style="border:0;" /></a></td>'.
  22. ' <td><font size="2"><a href="przetarg'.$Przetarg['id'].'.html"> Zapytania i odpowiedzi</a></font> </td> '.
  23. '</tr>'.
  24.  
  25. '<tr>'.
  26. ' <td style="border-bottom:1px solid #C5D3D9; font-size:11px;" valign="top">Data zamieszczenia: '.$Data_z.'<br />Data przetargu: '.$Data_p.', godz. '.$Godz_p.'</td>'.
  27. ' <td style="border-bottom:1px solid #C5D3D9;"><a href="download.php?plik=docs/przetargi,'.$Przetarg['id'].',2.html" style="border:0;" onmouseover="return escape(\'Pobierz: Ogłoszenie przetargu\')"><img src="pliki/pdf.gif" alt="" style="border:0;" /></a></td>'.
  28. '</tr>';
  29.  
  30. $Numer++;
  31. }
  32. }
  33. else
  34. {
  35. if (isset($_GET['subitem']))
  36. {
  37. if (preg_match("/^[0-9]+$/", $_GET['item']))
  38. {
  39. $PrzetargDB = mysql_query("SELECT * FROM przetargi WHERE id = '{$_GET['item']}';");
  40. $Przetarg = mysql_fetch_array($PrzetargDB);
  41.  
  42. $Licznik = ++$Przetarg['licznik'];
  43.  
  44. mysql_query("UPDATE przetargi SET licznik = '$Licznik' WHERE id = '{$_GET['item']}';");
  45.  
  46. if ($_GET['subitem'] == 1)
  47. {
  48. header("Location: <a href="http://www.rwik.pl/docs/przetargi/&quot;" target="_blank">http://www.rwik.pl/docs/przetargi/"</a> . $Przetarg['link_1']);
  49. }
  50. elseif($_GET['subitem'] == 2)
  51. {
  52. header("Location: <a href="http://www.rwik.pl/docs/przetargi/&quot;" target="_blank">http://www.rwik.pl/docs/przetargi/"</a> . $Przetarg['link_2']);
  53. }
  54. else
  55. {
  56. header("Location: przetargi.html");
  57. }
  58. }
  59. else
  60. {
  61. header("Location: przetargi.html");
  62. }
  63. }
  64. else
  65. {
  66. header("Location: przetargi.html");
  67. }
  68.  
  69. }
  70.  
  71. ?>
  72. </table>
  73. </center>
Go to the top of the page
+Quote Post
thek
post 1.07.2010, 11:07:43
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Powiem więcej... Temat już był na forum. Wystarczyło poszukać -> http://forum.php.pl/index.php?showtopic=55893 i masz tam JAK zrobić wymuszenie zapisu. Aczkolwiek zapamiętaj, że to czy zapisze czy otworzy to decyzja użytkownika lub zdefiniowanych ustawień przeglądarki. Dlatego ja bym ostrzegał przed pobraniem ile plik waży.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
Kinslayer
post 1.07.2010, 12:09:25
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.07.2010

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


Ok znalazlem, jednakze, nie wiem gdzie to u mnie wstawic w kodzie, sie pogubilem smile.gif Prosze o pomoc smile.gif

  1.  
  2. <?php
  3.  
  4. // przesyłamy plik PDF
  5.  
  6. header('Content-type: application/pdf');
  7.  
  8. // ustawiamy jego nazwę na downloaded.pdf
  9.  
  10. header('Content-Disposition: attachment; filename="downloaded.pdf"');
  11.  
  12. // treść znajduje się w pliku original.pdf
  13.  
  14. readfile('original.pdf');
  15. ?>




Ten post edytował Kinslayer 1.07.2010, 20:49:41
Go to the top of the page
+Quote Post
thek
post 1.07.2010, 23:25:37
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nagłówki ustawia się przed wysłaniem czegokolwiek do przeglądarki. W Twoim przypadku musisz to zrobić w pliku, który odpowiada za wysyłkę pliku do usera, czyli to co kryje się za wywołaniem "tajemniczego" przetarg,124,2.html winksmiley.jpg


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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.04.2025 - 08:24