Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ html2pdf problem z linkowanym img

Napisany przez: casperii 18.02.2018, 02:03:18

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: <http://december.com/html/4/element/a.html href="http://domena.pl/obrazek.jpg" target="_blank">http://domena.pl/obrazek.jpg</http://december.com/html/4/element/a.html>



Tutaj kawałek kodu z pliku tcpdf.php
  1. protected function _parsejpeg($file) {
  2. $a = http://www.php.net/getimagesize($file);
  3. if (http://www.php.net/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 ((!http://www.php.net/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 = http://www.php.net/isset($a['bits']) ? $a['bits'] : 8;
  17. $old_error_reporting = http://www.php.net/error_reporting(E_ALL ^ E_WARNING);
  18. $data = http://www.php.net/file_get_contents($file);
  19. http://www.php.net/error_reporting($old_error_reporting);
  20. return http://www.php.net/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.

Napisany przez: pm7 18.02.2018, 12:15:10

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.

Napisany przez: casperii 18.02.2018, 15:39:36

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 = http://www.php.net/pathinfo($path, PATHINFO_EXTENSION);
  4. $data = http://www.php.net/file_get_contents($path);
  5. $base64 = 'data:image/' . $type . ';base64,' . http://www.php.net/base64_encode($data);
  6. ?>
  7. <img src="<?php http://www.php.net/echo $base64 ?>">


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

Jakieś pomysły ?

Napisany przez: nospor 19.02.2018, 10:38:47

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)