Ang nabuong imaheng PHP GD Hindi maaaring ipakita ang larawan dahil naglalaman ito ng mga error sa Firefox



Kapag bumubuo ng isang imahe na may PHP, halimbawa ang pagdaragdag ng isang watermark sa isang nakaimbak na larawan ng server, gamit ang kodigo sa ibaba, o katulad na may JPEG sa halip ng PNG, ang imahe ay hindi maaaring mabuo sa lahat at magtapon ng isang error, direktang nakikita sa Firefox, ngunit hindi sa Chrome.

Ang ganitong uri ng code, sa kabila ng pagtatrabaho sa ilang mga server, ay maaaring magtrabaho ngayon sa iba, kung minsan para sa mga nakatagong mga dahilan. Sa aking kaso, nagtrabaho ito sa ganap na pagmultahin sa lokal, ngunit ginawa sa ibaba ang error sa internet server, ang imahe ay hindi maipakita dahil naglalaman ito ng mga error.

Ang isyu ay maaaring magmula sa ilang kadahilanan, narito ang ilan sa mga ito:

Ang isang output ay naka-set na dati.

Ang isang tunay na error mula sa henerasyon ng imahe.

Ang maling uri ng imahe ay ginagamit.

Hindi naka-install ang library ng larawan.

Ang isang output ay naka-set na dati

Kahit na hindi sinadya, maaaring ito ang kaso halimbawa na ang iba pang mga naunang mga script ay naglalaman ng mga puwang sa dulo - upang maiwasan ang error na ito, siguraduhin, tulad ng PHP na inirekomenda, hindi upang isara ang mga script sa PHP end tag?>

Pagkatapos, bago gamitin ang function ng header, gamitin ang sumusunod na code upang matiyak na ang anumang naunang HANAy ng header ay itinapon

At gayundin ang pag-andar na ito upang tiyakin na walang output na nabuo bago ang header at imahe

Nalutas nito ang isyu sa aking kaso, at ang imahe ay muling ipinapakita muli.

Ang isang tunay na error mula sa henerasyon ng imahe

Sa kaso ng isang tunay na error ay itinapon sa panahon ng henerasyon ng imahe, siguraduhin na ang PHP ay naka-set upang ipakita ang lahat ng mga posibleng uri ng mga error, at suriin ang kaukulang mga log, upang masubaybayan ito at malutas ito.

Ang sumusunod na code ay gagawing mag-ulat ng PHP ang lahat ng mga error sa log:

Master Website Paglikha: Mag -enrol Ngayon!

Ibahin ang anyo ng iyong digital na presensya sa aming komprehensibong kurso sa paglikha ng website - simulan ang iyong paglalakbay sa pagiging isang dalubhasa sa web ngayon!

Mag -enrol dito

Ibahin ang anyo ng iyong digital na presensya sa aming komprehensibong kurso sa paglikha ng website - simulan ang iyong paglalakbay sa pagiging isang dalubhasa sa web ngayon!

Pagkatapos ay maaari mong malaman na ang ilang mga error ay iniulat, kahit na hindi sila lumitaw sa output html, dahil sa configuration ng server.

Ang maling uri ng imahe ay ginagamit

Tiyaking tama ang mga uri ng imahe na iyong ginagamit, halimbawa ang paggamit ng code na ito upang makilala ang pagkakaiba sa pagitan ng png at jpeg.

Tiyakin din na ang header ay tama ayon sa output na ginamit, depende sa function ng henerasyon ng imahe na ginamit

Hindi naka-install ang library ng larawan

Upang matiyak na naka-install ang mga library ng imahe. Upang gawin ito, patakbuhin ang function na phpinfo (); sa isang script, at suriin ang output para sa sumusunod na halaga na nauugnay sa PHP GD, ang graphics library na ginagamit ng mga pag-andar tulad ng imagepng ();

Sa kaso ng mga pakete ay nawawala, ang paraan upang malutas ito ay depende sa iyong lokal na configuration, alinman sa pamamagitan ng pagdaragdag ng mga pakete gamit ang PEAR utos, o paggamit ng web host na binuo sa solusyon para sa pag-install ng package.

Ano ang dapat gawin kapag hindi gumagana ang imagejpeg o imagepng

Sa NotePad ++, buksan ang PHP file na tumawag sa function na imagepng, at i-save ito pagkatapos ng pagpunta sa menu Encoding> I-convert sa UTF-8 na walang BOM.

Sa DreamWeaver, pumunta sa Mga Katangian ng Pahina> Pamagat / Pag-encode> alisan ng tsek Isama ang Unicode Signature (BOM).

Kapag ang PHP imagejpeg o imagepng ay hindi gumagana, ito ay malamang na dahil sa ang katunayan na ang PHP file ay naka-encode na may BOM, isang Bill Of Material, at samakatuwid ang dagdag na impormasyon ay ipinadala sa imahe bago ang data ng imahe.

Ang function na PHP imagejpeg at PHP ay ginagamit upang magpadala ng isang picture code nang direkta sa tugon ng server.

PHP - hindi gumagana nang maayos ang imagepng
PHP - function na imagepng
PHP - function na imagejpeg

Madalas Na Nagtanong

Bakit hindi ko maipakita ang imahe na nilikha gamit ang PHP GD sa aking browser?
Kung ang iyong larawan na nabuo ng PHP GD ay hindi nagpapakita at nagpapakita ng isang error sa browser, maaaring dahil sa maraming mga kadahilanan tulad ng nakaraang output na ipinadala, tunay na mga pagkakamali sa panahon ng henerasyon ng imahe, gamit ang maling uri ng imahe, o ang GD Image Library hindi naka -install. Tiyakin na walang naunang output na ipinadala, suriin para sa mga tunay na error, i -verify ang uri ng imahe at header, at kumpirmahin ang pag -install ng GD library.
Paano maaayos ng mga developer ang isyu ng mga larawan na nabuo ng PHP GD na hindi ipinapakita sa Firefox dahil sa mga pagkakamali?
Dapat suriin ng mga nag-develop ang code ng henerasyon ng imahe para sa mga pagkakamali, tiyakin na ang tamang uri ng header ng nilalaman ay ipinapadala bago ang anumang data ng imahe, at mapatunayan na walang mga error sa PHP o mga babala na na-output. Ang paggamit ng ob_clean () bago ang pag -output ng imahe ay maaari ring makatulong.

Yoann Bierling
Tungkol sa may-akda - Yoann Bierling
Ang Yoann Bierling ay isang Web Publishing & Digital Consulting Professional, na gumagawa ng isang pandaigdigang epekto sa pamamagitan ng kadalubhasaan at pagbabago sa mga teknolohiya. Masigasig tungkol sa pagbibigay kapangyarihan sa mga indibidwal at organisasyon na umunlad sa digital na edad, hinihimok siya upang maihatid ang mga pambihirang resulta at magmaneho ng paglago sa pamamagitan ng paglikha ng nilalaman ng edukasyon.

Master Website Paglikha: Mag -enrol Ngayon!

Ibahin ang anyo ng iyong digital na presensya sa aming komprehensibong kurso sa paglikha ng website - simulan ang iyong paglalakbay sa pagiging isang dalubhasa sa web ngayon!

Mag -enrol dito

Ibahin ang anyo ng iyong digital na presensya sa aming komprehensibong kurso sa paglikha ng website - simulan ang iyong paglalakbay sa pagiging isang dalubhasa sa web ngayon!




Mga komento (6)

 2018-08-19 -  Irvin Vasquez
Simple, clear and well explained, many thanks
 2018-08-19 -  Joyce Lawrence
ありがとう、非常に有益な
 2018-08-19 -  Catherine Roberts
Dokładnie tego, czego szukałem, idealnie
 2018-08-19 -  Headlinext
जानकारी का महान टुकड़ा, साझा करने के लिए धन्यवाद
 2018-08-19 -  Marshel
विश्वास नहीं कर सकता कि मुझे अंत में समाधान मिला, यह लंबे समय तक एक दुःस्वप्न था, अब हल हो गया
 2018-08-19 -  porcateraC
بالضبط ما كنت أبحث عنه ، مثالي

Mag-iwan ng komento