Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> html2pdf problem z linkowanym img
casperii
post 18.02.2018, 02:03:18
Post #1





Grupa: Zarejestrowani
Postów: 680
Pomógł: 28
Dołączył: 14.08.2014

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


Panowie próbuje przełożyć img do pdfa.
Czasami się udaje i plik img się wczytuje ,a czasami html2pdf zwraca mi błąd:

  1. Warning: getimagesize() [function.getimagesize]: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /html2fpdf/_tcpdf_5.0.002/tcpdf.php on line 5670
  2.  
  3. Warning: getimagesize(http://domena.pl/obrazek.jpg) [function.getimagesize]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution in /html2fpdf/_tcpdf_5.0.002/tcpdf.php on line 5670
  4. TCPDF ERROR: Missing or incorrect image file: <a href="http://domena.pl/obrazek.jpg" target="_blank">http://domena.pl/obrazek.jpg</a>



Tutaj kawałek kodu z pliku tcpdf.php
  1. protected function _parsejpeg($file) {
  2. $a = getimagesize($file);
  3. if (empty($a)) {
  4. $this->Error('Missing or incorrect image file: '.$file);
  5. }
  6. if ($a[2] != 2) {
  7. $this->Error('Not a JPEG file: '.$file);
  8. }
  9. if ((!isset($a['channels'])) OR ($a['channels'] == 3)) {
  10. $colspace = 'DeviceRGB';
  11. } elseif ($a['channels'] == 4) {
  12. $colspace = 'DeviceCMYK';
  13. } else {
  14. $colspace = 'DeviceGray';
  15. }
  16. $bpc = isset($a['bits']) ? $a['bits'] : 8;
  17. $old_error_reporting = error_reporting(E_ALL ^ E_WARNING);
  18. $data = file_get_contents($file);
  19. error_reporting($old_error_reporting);
  20. return array('w' => $a[0], 'h' => $a[1], 'cs' => $colspace, 'bpc' => $bpc, 'f' => 'DCTDecode', 'data' => $data);
  21. }


Mam to rozumieć, że co X razy plik się nie wczytuje i dlatego taki błąd ? Jak temu zapobiec? Nie wiem, czemu ale ładowanie tego do pdfa trwa około 40 - 60s, gdzie wygenrowany plik pdfa zajmuje mniej niż 200kb.
Go to the top of the page
+Quote Post
pm7
post 18.02.2018, 12:15:10
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 28.09.2017

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


Skąd pobierasz zdjęcia? Wygląda na to, że skrypt nie może połaczyć się z zewnętrznym serwerem. Może problemy z DNS? Spróbuj użyć adresu IP zamiast nazwy hosta.
Go to the top of the page
+Quote Post
casperii
post 18.02.2018, 15:39:36
Post #3





Grupa: Zarejestrowani
Postów: 680
Pomógł: 28
Dołączył: 14.08.2014

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


Obrazki są pobierane z tego samego serwera, z tego samego konta.

Próbowałem nawet w taki sposób:
  1. <?php
  2. $path = 'directory/example.jpg';
  3. $type = pathinfo($path, PATHINFO_EXTENSION);
  4. $data = file_get_contents($path);
  5. $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
  6. ?>
  7. <img src="<?php echo $base64 ?>">


Ale błąd: Impossible to load the image data:image/jpg;base64,

Jakieś pomysły ?

Ten post edytował casperii 18.02.2018, 22:40:12
Go to the top of the page
+Quote Post
nospor
post 19.02.2018, 10:38:47
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Tyle czasu na forum, tyle napisanych postow a nadal nie umiesz zrobic glupiego var_dump czy zajrzec w zrodlo strony i sprawdzic co faktycznie narezales :/ przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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.03.2024 - 20:35