![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Przygotowałem właśnie ksiązeczkę opłat dla swoich abonentów. Stworzyłem do tego funkcję genrującą obraz z wypełnionym drukiem. Gdy umieszczam ją w liku, wszystko jest ok. Jeśli natomiast chciałbym ją wywołać 12 razy a wynik umieścić w pliku zip to i tak w przegladarce pojawia sie pierwszy plik a archiwum .zip posaida dwanaście pustych plików. Nie wiem, co robie nie tak. Oto fragment kodu:
-------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Jak sam zauważyłeś Twoja funkcja maketemplate() wysyła wygenerowany obraz do przeglądarki lub zapisuje do pliku, a tymczasem powinna zwrócić jego "zawartość":
Tę zawartość możemy teraz w pętli zapisać do pliku (swoją drogą pętla powinna być do $i <= 12):
Oczywiście możesz też najpierw wygenerować 12 plików, które później dodasz do archiwum (tutaj zamiast addFromString() użyjesz addFile()), ale trzeba pamiętać o ścieżkach do plików. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Niestety po tej modyfikacji funkcja maketemplate(); nic nie zwraca a pętla wyrzuca błędy:
Warning: ZipArchive::addFromString() expects parameter 2 to be string, resource given in /var/www/druki.php -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Funkcja maketemplate() jednak coś zwraca. Myślałem tylko, że będzie to obraz w postaci łańcucha znaków, a jest to zasób obrazu. Na szczęście można temu zaradzić:
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem kod i w tym wypadku wygląda na to, że funkcja zwraca ciąg znaków. Po wywolaniu pliku .php w przegladarce pojawia się obraz w postaci ciągu znaków (tak się domyślam bo zawiera na początku CREATOR: gd-jpeg v1.0 (using IJG JPEG v62))
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 22 Dołączył: 14.12.2007 Skąd: Wyszków Ostrzeżenie: (0%) ![]() ![]() |
Tak właśnie powinno być - wyświetla Ci obrazek w postaci ciągu znaków, bo przeglądarka nie dostała nagłówka z mimetype obrazka.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
I ten ciąg znaków podajesz jako drugi argument metody addFromString() klasy do obsługi archiwów zip
Oczywiście plik zapisujesz jako $i.jpg, a nie $i.txt. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 311 Pomógł: 13 Dołączył: 7.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Podałem wlasnie w argumencie ale zamiast w pliku test.zip wynik pojawił sie jako tekst w przeglądarce. W archiwum .zip są znów puste pliki. Chyba odpuszczę sobie to rozwiązanie i umieszcze linki do .jpg'ów
-------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 291 Pomógł: 45 Dołączył: 21.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
A takie pytanie z innej beczki.
Klientom przygotowujesz paczkę obrazków zapakowaną w zipową paczkę. Nie lepiej i szybciej byłoby wygenerować druczki przelewu po 2 na arkusz A4 przy użyciu choćby starego i wystarczającego do tego zadania TCPDF? Miałbyś mniej operacji do wykonania, zapuścił pętlę wygenerowania X druczków, te szybciutko by się wygenerowały i byłyby gotowe do wysyłki. A i klient mniej by kręcił nosem jakby dostał plik, który mu się otworzy w każdej przeglądarce internetowej, wypuści go na drukarkę i zapomni. A przy obrazkach to jeszcze może dojść skalowanie i inne cuda, poczta może mieć obiekcje bo przeskalowane itd. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Funkcja niezmieniona, tylko drugi kod. Ten post edytował franki01 21.03.2013, 19:34:20 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 16:31 |