Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Biblioteka MPDF - problem
AuronDiel
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


Witam wszystkich! Zainstalowałem poprawnie biblioteke mpdf i stworzyłem plik php
  1. $dane2 = "<?php
  2. include('mpdf/mpdf.php');
  3. " . '$mpdf' . "=new mPDF();
  4. " . '$html' . "='$dane';
  5. " . '$mpdf' . "->WriteHTML(" . '$html' . ");
  6. " . '$mpdf' . "->Output" . '(' ."$_SESSION[temat].pdf" . ',' ."F" .')' . ";
  7. exit; ?>";

(fragment). Problem tkwi w tym, że skrypt mi tworzy plik o nazwie np ,,tematpdf" bez kropki.
Jak temu zaradzić, by postać to miało taką ,,temat.pdf"?

Dziekuję za pomoc i pozdrawiam.
Go to the top of the page
+Quote Post
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Takie brzydkiego kodu to już dawno nie widziałem, jak można tak pisać? Sam sobie jesteś winny błędu bo piszesz okropnie. Problem tkwi w tym, że string w nazwie funkcji powinien być w cudzysłowiu.

Ten post edytował sf 31.12.2012, 12:38:32
Go to the top of the page
+Quote Post
AuronDiel
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


  1. $dane2 = "<?php
  2. header('location:$_SESSION[temat].pdf');
  3. include('mpdf/mpdf.php');
  4. " . '$mpdf' . "=new mPDF();
  5. " . '$html' . "='$dane';
  6. " . '$mpdf' . "->WriteHTML($html);
  7. " . '$mpdf->Output' . "("$_SESSION[temat].pdf" .','. "F");
  8. exit; ?>";



Poprawiłem na coś takiego ale niestety wypluł mi to:
Parse error: syntax error, unexpected T_VARIABLE
w tej linijce nr 7.

Błagam o pomoc (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. $dane2 = '<?php
  2. include("mpdf/mpdf.php");
  3. $mpdf =new mPDF();
  4. $html = $dane;
  5. $mpdf->WriteHTML($html);
  6. $mpdf->Output("'.$_SESSION['temat'].'.pdf", "F");
  7. exit; ?>';
Go to the top of the page
+Quote Post
AuronDiel
post
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


  1. $dane2 = "<?php
  2. header('location:$_SESSION[temat].pdf');
  3. include('mpdf/mpdf.php');
  4. " . '$mpdf' . "=new mPDF();
  5. " . '$html' . "='$dane';
  6. " . '$mpdf' . "->WriteHTML($html);
  7. " . '$mpdf->Output' . "("'.$_SESSION['temat'].'.pdf", "F");
  8. exit; ?>";


Niestety dalej błąd tym razem:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING w 7 linijce
Próbowałem się doszukać jakiegoś brakującego apostrofa lecz nic nie widz. (IMG:style_emoticons/default/sad.gif)

Go to the top of the page
+Quote Post
eMCeH
post
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.04.2012
Skąd: Świętokrzyskie

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


masz:
  1. '.$_SESSION['


powinno być chyba tak:
  1. " . '$mpdf->Output' . "("'.$_SESSION["temat"].'.pdf", "F");
Go to the top of the page
+Quote Post
AuronDiel
post
Post #7





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


Ten sam błąd wyskakuje... (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
eMCeH
post
Post #8





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.04.2012
Skąd: Świętokrzyskie

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


z drobną zmianą kod, który Ci podał CuteOne powinien zadziałać:

  1. $dane2 = '<?php
  2. include("mpdf/mpdf.php");
  3. $mpdf =new mPDF();
  4. $html = $dane;
  5. $mpdf->WriteHTML($html);
  6. $mpdf->Output("'.$_SESSION["temat"].'.pdf", "F");
  7. exit; ?>';


skoro dajesz:
  1. " . '$mpdf' . "->WriteHTML($html);


to logicznym wydaje się być:
  1. " . '$mpdf' . "->Output(" '.$_SESSION["temat"].' .pdf", "F");


Ten post edytował eMCeH 5.01.2013, 10:11:24
Go to the top of the page
+Quote Post
AuronDiel
post
Post #9





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


  1. $dane2 = '<?php
  2. header('location:$_SESSION[temat].pdf');
  3. include("mpdf/mpdf.php");
  4. $mpdf =new mPDF();
  5. $html = "$dane";
  6. $mpdf->WriteHTML($html);
  7. $mpdf->Output("'.$_SESSION["temat"].'.pdf", "F");
  8. exit; ?>';


W header jest błąd ,,Parse error: syntax error, unexpected T_STRING"
Czy może mi ktoś wytłumaczyć na jakiej zasadzie dajemy apostrof albo cudzysłów?
Chciałbym sobie radzić z tym sam, ale niestety nie wiem od czego zacząć. Ktoś doradzi? Ktoś pomoże?
Go to the top of the page
+Quote Post
CuteOne
post
Post #10





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. $string = 'Ala ma cat'sy';
  2. $string = "Ala ma cat'sy";
  3. $string = 'Ala ma cat\'sy';
  4. $string = 'Ala ma cat"sy';


Sprawdź, która zmienna wyrzuci błąd i zastosuj poprawne formy w swoim kodzie
Go to the top of the page
+Quote Post
AuronDiel
post
Post #11





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


  1. header('location:"$_SESSION['temat'].pdf');
  2. header('location:\'$_SESSION['temat'].pdf');
  3. header('location:'.$_SESSION['temat'].'.pdf"');
  4. header('location:'.$_SESSION['temat'].'.pdf');
  5. header('"location:".'.$_SESSION['temat'].'.pdf');


Fail za failem (IMG:style_emoticons/default/sad.gif) probowałem jakoś wyciągnąć wnioski, chyba średnio to wyszło.
  1. $string = 'Ala ma cat'sy'; NIE DZIALA
  2. $string = "Ala ma cat'sy"; DZIALA
  3. $string = 'Ala ma cat\'sy'; DZIALA
  4. $string = 'Ala ma cat"sy'; DZIALA
Go to the top of the page
+Quote Post
eMCeH
post
Post #12





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.04.2012
Skąd: Świętokrzyskie

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


Spróbuj tak:
  1. $parametry = 'location';
  2. $parametry .= "$_SESSION['temat']";
  3. $parametry .= '.pdf';
  4. header($parametry);

lub:
  1. $parametry = 'location';
  2. $parametry .= "$_SESSION[temat]";
  3. $parametry .= '.pdf';
  4. header($parametry);




czyli dla:
  1. $par = "ala";
  2. $par .= 'ma';
  3. $par .= 'kota "na punkcie psa"';
  4. echo $par;

wynik:
Kod
alamakota "na punkcie psa"

zwróć uwagę, że wewnętrzny " " jest przetwarzany jak każda inna litera

Ten post edytował eMCeH 5.01.2013, 23:51:02
Go to the top of the page
+Quote Post
CuteOne
post
Post #13





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


  1. <?php
  2. $dane2 =
  3. '<?php
  4. header(\'Location: \'.$_SESSION[\'temat\'].\'.pdf\');
  5. include("mpdf/mpdf.php");
  6. $mpdf =new mPDF();
  7. $html = $dane;
  8. $mpdf->WriteHTML($html);
  9. $mpdf->Output($_SESSION[\'temat\'].\'.pdf\', "F");
  10. exit; ?>';


Ten post edytował CuteOne 6.01.2013, 01:04:55
Go to the top of the page
+Quote Post
AuronDiel
post
Post #14





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


Dalej w skrypcie mam zastosowana funkcje fopen oraz fwrite gdzie wpisuje całą zmieną $dane2
CuteOne:
Nie wypisuje błędu ale w stworzony pliku nie wpisało zmienej z sesji.
  1. <?php
  2. header('Location: '.$_SESSION['temat'].'.pdf');
  3. include("mpdf/mpdf.php");
  4. $mpdf =new mPDF();
  5. $html = "$dane";
  6. $mpdf->WriteHTML($html);
  7. $mpdf->Output("KOniecchyba.pdf", "F");
  8. exit; ?>


Tak się zapisał plik.

eMCeH, o dziwo nie działą... niestety (IMG:style_emoticons/default/sad.gif)

Napisałem jeszcze to tak:
  1. $dane2 = '<?php
  2. header(Location:'.$_SESSION['temat'].'.pdf);
  3. include("mpdf/mpdf.php");
  4. $mpdf =new mPDF();
  5. $html = "$dane";
  6. $mpdf->WriteHTML($html);
  7. $mpdf->Output("'.$_SESSION["temat"].'.pdf", "F");
  8. exit; ?>';

Header prawie dziala wpisuje wszystko tak jak powinno być lecz nie ma apostrofu na początku i na końcu funkcji a po dopisaniu ich w pierwszej formie czyli:
  1. header('Location:'.$_SESSION['temat'].'.pdf');
Pisze o błędzie STRING :<
Go to the top of the page
+Quote Post
eMCeH
post
Post #15





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.04.2012
Skąd: Świętokrzyskie

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


dokładnie jaki błąd? w którym wierszu?
Go to the top of the page
+Quote Post
AuronDiel
post
Post #16





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


  1. $dane2 = '<?php
  2. $parametry = 'location:';
  3. $parametry .= "$_SESSION['temat']";
  4. $parametry .= '.pdf';
  5. header($parametry);
  6. include("mpdf/mpdf.php");
  7. $mpdf =new mPDF();
  8. $html = "$dane";
  9. $mpdf->WriteHTML($html);
  10. $mpdf->Output("'.$_SESSION["temat"].'.pdf", "F");
  11. exit; ?>';


T_STRING w 2 linijce, kiedy zmieniam na cudzysłów to mam

To jest blad T_STRING w 3 linijce, kiedy zmieniam znowu na cudzysłów to mam błąd T_VARIABLE

  1. $dane2 = '<?php
  2. $parametry = "location:";
  3. $parametry .= '$_SESSION['temat']';
  4. $parametry .= '.pdf';
  5. header($parametry);
  6. include("mpdf/mpdf.php");
  7. $mpdf =new mPDF();
  8. $html = "$dane";
  9. $mpdf->WriteHTML($html);
  10. $mpdf->Output("'.$_SESSION["temat"].'.pdf", "F");
  11. exit; ?>';
Go to the top of the page
+Quote Post
eMCeH
post
Post #17





Grupa: Zarejestrowani
Postów: 48
Pomógł: 1
Dołączył: 1.04.2012
Skąd: Świętokrzyskie

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


napisz mi jaki masz mieć wynik $header
Go to the top of the page
+Quote Post
AuronDiel
post
Post #18





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


nie rozumiem, skrypt nie doszedl do header mam blad i tyle
Go to the top of the page
+Quote Post
klocu
post
Post #19





Grupa: Zarejestrowani
Postów: 291
Pomógł: 45
Dołączył: 21.08.2007

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


Tyle postów, ale na dobrą sprawę nie wiadomo o co chodzi.
Co to ma zrobić? Stworzyć plik z danymi, czy z czym?

Patrząc na proponowane rozwiązanie z nagłówkiem...
Chcesz przekierować przeglądarkę do pliku, który dopiero za jakąś chwilę stworzysz - jaki masz w tym cel?

To może jeszcze raz - jakie dane masz na wejściu poza ($_SESSION['temat'] i $dane) i dokładnie jak ma wyglądać plik, który chcesz otrzymać na wyjściu.
Bo inaczej dalej będziemy podsyłać kawałki kodu i znowu w odpowiedzi dostaniemy listę exceptionów albo stwierdzeń "nie działa tak jakbym chciał"
Go to the top of the page
+Quote Post
AuronDiel
post
Post #20





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 2.06.2012

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


  1. $tresc = $_POST['tresc'];
  2. $dane = "$tresc";
  3.  
  4. $dane2 = '<?php
  5. header('Location:'.$_SESSION['temat'].'.pdf');
  6. include("mpdf/mpdf.php");
  7. $mpdf =new mPDF();
  8. $html = "$dane";
  9. $mpdf->WriteHTML($html);
  10. $mpdf->Output("'.$_SESSION["temat"].'.pdf", "F");
  11. exit; ?>';
  12. $fp2 = fopen("sc/$_SESSION[kategoria]/pdf/$_SESSION[temat]2.php", "w");
  13. $test2 = fwrite($fp2, $dane2);
  14. if($test)
  15. {
  16. header("Location: zrobione.php");
  17. }


Skrypt tworzy plik php ktory zawiera biblioteke mpdf($dane2), uzytkownik ktory wejdzie na ten plik, stworzy mu sie PDF na podstawie danych($dane) oraz od razu zacznie pobierac ten plik.
Na wyjściu chce otrzymać plik który ma w sobie coś takiego:
  1. <?php
  2. header('Location: $_SESSION['temat'].pdf');
  3. include("mpdf/mpdf.php");
  4. $mpdf =new mPDF();
  5. $html = "$dane";
  6. $mpdf->WriteHTML($html);
  7. $mpdf->Output("$_SESSION['temat']", "F");
  8. exit; ?>


oczywiscie na miescju $_SESSION['temat'] ma być jakaś zmiena która użytkownik wcześniej podał.

Dziękuje za pomoc, udało się.
Gotowy kod wygląda tak:
  1. $dane2 = "<?php
  2. header('location:$_SESSION[temat].pdf');
  3. include('mpdf/mpdf.php');
  4. " . '$mpdf' . "=new mPDF();
  5. " . '$html' . "='$dane';
  6. " . '$mpdf' . "->WriteHTML(" . '$html' . ");
  7. " . '$mpdf' . "->Output" . '("'.$_SESSION["temat"].'.pdf", "F")' . ";
  8. exit; ?>";

Kod jest strasznieee chaotyczny i przyznaje szczerze, że nie mam pojęcia czemu ten właśnie zagmatwany kod działa a pozotałe próby, które z podejścia php wyglądały dobrze, nie działały.

Ten post edytował AuronDiel 6.01.2013, 22:56:55
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: 15.09.2025 - 16:29