![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam następujący problem - w polu blob bazy program zapisuję pliki pdf generowane przez użytkowników. Zapis tych plików oraz ich późniejszy odczyt/wyświetlenie działa bez żadnych problemów. To z czym nie mogę się aktualnie uporać, to pobranie wszystkich plików pdf z bazy i wygenerowanie jednego zbiorczego pdf'a. Jako że program działa na serwerku Synology nie mogę doinstalować np. PDFTK, w związku z czym skorzystałem z klasy PDFMerger.
Powyższy kod zwraca jednak błędy: - file_exists() expects parameter 1 to be string PDFMerger.php on line 47 - uncaught exception 'Exception' with message 'Could not locate PDF on 'Array' PDFMerger.php on line 58 Będę wdzięczny za pomoc w rozwiązaniu tego problemu, bądź naprowadzenie na właściwe tory. Pewnie można ten temat ugryźć z innej strony. |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$result = mysql_fetch_array($objQuery);
array_push($resultData,$result); O tu panie kolego otrzymujesz tablicę. A ty masz tam przekać przecież ścieżkę do PDF a nie tablicę... Tak ma być: $result = mysql_fetch_array($objQuery); array_push($resultData,$result['pdf_plik']); |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
$result = mysql_fetch_array($objQuery); array_push($resultData,$result); O tu panie kolego otrzymujesz tablicę. A ty masz tam przekać przecież ścieżkę do PDF a nie tablicę... Tak ma być: $result = mysql_fetch_array($objQuery); array_push($resultData,$result['pdf_plik']); Po zmianie w dalszym ciągu otrzymuję te same błędy: - file_exists() expects parameter 1 to be string PDFMerger.php on line 47 - uncaught exception 'Exception' with message 'Could not locate PDF on 'Array' PDFMerger.php on line 58 Jak już pisałem w bazie trzymam pdf'y w polach blob, a nie ścieżki do plików na dysku. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) wg komunikatu ty nadal przekazujesz tam tablicę a nie tekst
Pokaż kod po poprawkach 2) No i najważniejsze: wg. komunikatu on wymaga ścieżki do pliku a nie zawartości pliku (IMG:style_emoticons/default/smile.gif) Dobra, zajrzałem na stronę PDFMerger i tam jak wół napisane jest, że metoda addPDF przyjmuje scięzkę do pliku. A ty radośnie od tak sobie wrzucasz tam tablice. Kurcze, Ty myślisz, że jak sobie zamienisz na tablice i to tablice nie ściezek a zawartosci to w magiczny sposób klasa to sobie obsłuży bo Ty tak chcesz? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
1) wg komunikatu ty nadal przekazujesz tam tablicę a nie tekst Pokaż kod po poprawkach 2) No i najważniejsze: wg. komunikatu on wymaga ścieżki do pliku a nie zawartości pliku :) Kod tak jak proponowałeś:
A co do ścieżki do pliku, to właśnie wolałbym pobierać pdf (ich zawartość) z bazy i łączyć w jeden zbiorczy. |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dodałem notkę do poprzedniego posta. Przeczytaj.
Cytat A co do ścieżki do pliku, to właśnie wolałbym pobierać pdf (ich zawartość) z bazy i łączyć w jeden zbiorczy. To że Ty byś wolał, to nie znaczy że klasa się do Ciebie dostosuje. To Ty masz się dostować do możliwości klasy. To Ty teoretycznie jesteś istotą rozumną a nie klasa php.Skoro klasa przyjmuje tylko ścieżki do plików to: albo modyfikujesz klasę, by działała jak Ty chesz albo się dostosowujesz Ty i pdf z bazy zapisujesz do pliku a potem dla klasy zapodajesz tę ścieżkę do świeżo zapisanego pliku
Powód edycji: [nospor]:
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dodałem notkę do poprzedniego posta. Przeczytaj. To że Ty byś wolał, to nie znaczy że klasa się do Ciebie dostosuje. To Ty masz się dostować do możliwości klasy. To Ty teoretycznie jesteś istotą rozumną a nie klasa php. Skoro klasa przyjmuje tylko ścieżki do plików to: albo modyfikujesz klasę, by działała jak Ty chesz albo się dostosowujesz Ty i pdf z bazy zapisujesz do pliku a potem dla klasy zapodajesz tę ścieżkę do świeżo zapisanego pliku No w sumie racja - dzięki za poświęcony czas. Odezwę się jak przerobię program na zapisywanie w bazie ścieżek, a nie pdf'ów w blobie. A tak na marginesie jest jakaś inna opcja, żeby pobrać i scalić pdf'y z pól blob ? |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat A tak na marginesie jest jakaś inna opcja, żeby pobrać i scalić pdf'y z pól blob ? W tej klasie z tego co widzę to nie.Cytat Odezwę się jak przerobię program na zapisywanie w bazie ścieżek, a nie pdf'ów w blobie. Pamiętaj tylko o tym, że addPDF przyjmuje tylko jedną ścieżkę a nie tablicę ścieżek. Musisz wywołać addPDF tyle razy, ile będziesz miał ścieżek
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
W tej klasie z tego co widzę to nie. Pamiętaj tylko o tym, że addPDF przyjmuje tylko jedną ścieżkę a nie tablicę ścieżek. Musisz wywołać addPDF tyle razy, ile będziesz miał ścieżek OK - przebudowałem program i w tej chwili w bazie zapisuję ścieżki do pliku, które wyglądają np. tak /volume1/web/Joomla_1.5/modules/mod_zbiorczy_pdf/tmp/trafic_2_strony.pdf Niestety podczas scalania plików w dalszym ciągu dostaję te same komunikaty o błędach. |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No ale pokaż jaki teraz masz kod.... Czy za każdym razem muszę to samo pisać...?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
No ale pokaż jaki teraz masz kod.... Czy za każdym razem muszę to samo pisać...? Trochę przerobiłem ten kod:
Jest już jakiś postęp, bo wyświetliło mi w przeglądarce poprawnie pdf, ale tylko pierwszego. Na chwilę obecną nie bardzo wiem jak to dalej ugryźć. |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Czy Ty wogóle czytasz dokumentacje? Czytasz co ci ludzie piszą? Bo widzę, że nie. Ciągle wychodzisz z założenia "Bo ja wolę" i się go konsekwentnie trzymasz....
Powiedz mi proszę, czego nie zrozumiałeś w tym co ci napisałem Cytat Pamiętaj tylko o tym, że addPDF przyjmuje tylko jedną ścieżkę a nie tablicę ścieżek. Musisz wywołać addPDF tyle razy, ile będziesz miał ścieżek ? A najlepsze to juz w ogóle jest to: readfile($result['pdf_nazwa_pliku']) Po grzyba ty tam readfile dałes? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Czy Ty wogóle czytasz dokumentacje? Czytasz co ci ludzie piszą? Bo widzę, że nie. Ciągle wychodzisz z założenia "Bo ja wolę" i się go konsekwentnie trzymasz.... Powiedz mi proszę, czego nie zrozumiałeś w tym co ci napisałem ? A najlepsze to juz w ogóle jest to: readfile($result['pdf_nazwa_pliku']) Po grzyba ty tam readfile dałes? Nie ma się co tak gorączkować, w końcu człowiek uczy się na błędach. Zwłaszcza początkujący w dane dziedzinie. Kod wygląda więc tak:
Wszystko ładnie działa, po zmianie wskaźnika tablicy generują się właściwe pliki pdf - nie wiem tylko jak przekazać do funkcji addPDF wszystkie pliki. |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat w końcu człowiek uczy się na błędach. Tak, ale jak ci ktoś wyraźnie i po polsku któryś raz skolei pisze, że addPDF przyjmuje tylko i wyłącznie ścieżke do pliku a Ty ciągle i uparcie wkładasz tam tablicę, to chyba osoba, ma prawo stracić cierpliwość, nie sądzisz? I nie wynika to z braku Twojej wiedzy a z braku myślenia.Widzę, jak ci nie napiszę, to w życiu tego nie zrobisz....
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tak, ale jak ci ktoś wyraźnie i po polsku któryś raz skolei pisze, że addPDF przyjmuje tylko i wyłącznie ścieżke do pliku a Ty ciągle i uparcie wkładasz tam tablicę, to chyba osoba, ma prawo stracić cierpliwość, nie sądzisz? I nie wynika to z braku Twojej wiedzy a z braku myślenia. Widzę, jak ci nie napiszę, to w życiu tego nie zrobisz....
No to zamykam temat - dzięki za zrozumienie... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 04:58 |