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
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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/smile.gif)

Z gory dziekuje za wszelka pomoc.
Go to the top of the page
+Quote Post
thek
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Kinslayer
post
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 (IMG:style_emoticons/default/biggrin.gif) , wkleje kod do mojej calej podstrony. Moze to cos pomoze (IMG:style_emoticons/default/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
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.
Go to the top of the page
+Quote Post
Kinslayer
post
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 (IMG:style_emoticons/default/smile.gif) Prosze o pomoc (IMG:style_emoticons/default/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
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 (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 23:54