2012-05-28 10 views
7

मेरे पास एक ऐसी वेबसाइट है जो डेटा से आधारित पीडीएफ फ़ाइल उत्पन्न कर रही है।टीसीपीडीएफ त्रुटि: छवि फ़ाइल नहीं खोल सकता:/var/www/html/tcpdf/कैश/

मैं एक नि: शुल्क webhost में यह कोशिश की और यह ठीक है, लेकिन जब मैं अपने सर्वर पर अपलोड मैं इस त्रुटि मिलती है:

TCPDF त्रुटि: खोल छवि फ़ाइल नहीं:/var/www/html/tcpdf/कैश/कैश फ़ोल्डर mska_1d34cb1ba2c1951624fbccb7556c6d1d does not को फ़ोल्डर में मौजूद में

mska_1d34cb1ba2c1951624fbccb7556c6d1d।

उत्तर

12

मुझे अभी जवाब मिला है।

उन सभी के लिए जो इस समस्या का सामना करने में सक्षम होंगे, ये संभावित समाधान हैं।

एक कारण यह है कि tcpdf के अंदर फ़ोल्डरों को लिखने और पढ़ने की कोई अनुमति नहीं है। सुनिश्चित करें कि कैश और छवियों के फ़ोल्डर में 644 या 755 (अनुशंसित) अनुमति है। ये अनुमति बहुत महत्वपूर्ण है क्योंकि पीडीएफ उत्पन्न करते समय एक प्रक्रिया होती है, यह कैश है या छवियों में पढ़ा जाता है।

एक अन्य कारण यह है कि tcpdf पीएनजी फ़ाइल या पारदर्शी छवियों को स्वीकार नहीं करता है। मेरा समाधान छवि को जेपीईजी में बनाना और इसके लिए एक सफेद पृष्ठभूमि लागू करना था। तो पारदर्शी के साथ पीएनजी से बचें।

उम्मीद है कि इससे मदद मिलेगी।

+1

आप मुझे पीएनजी पारदर्शिता विवरण के साथ बहुत सारी परेशानी बचाते हैं। आपको बहुत - बहुत धन्यवाद! –

+0

आपका स्वागत है^__^ – Bert

+4

मैंने पाया कि छवियों को 8 या 24 बिट पीएनजी (आतिशबाजी में) के रूप में सहेजते समय, टीसीपीडीएफ उन्हें स्वीकार करता है लेकिन 32 बिट पीएनजी त्रुटियों को देता है। पारदर्शिता के बावजूद। – stef

2

अनुमान पर (उस तरह के नाम के साथ), यह उस फ़ोल्डर को लिखने का प्रयास कर रहा है। PHP/Apache को उस फ़ोल्डर में लिखने की अनुमतियां जांचें।

यह बाद में भी इसे पढ़ना चाहेगा, इसलिए पढ़ने और लिखने की अनुमति दें।

2

फ़ोल्डर अनुमतियों की जांच करने के लिए बर्ट की सिफारिश के अतिरिक्त, HTTP/HTTPS समस्याओं की जांच करें, और ध्यान दें कि आप tppdf फ़ोल्डर में K_PATH_MAIN सर्वर पथ सेट कर सकते हैं यदि यह स्वचालित रूप से सही ढंग से गणना नहीं की जा रही है। (Tcpdf_config.php में)

define ('K_PATH_MAIN', '/my/absoulte/path/tcpdf/');

1

बस जहां फ़ोल्डर, फोंट और छवियों वहाँ विन्यास कर रहे हैं, यह भी एक कैश फ़ोल्डर बनाने और अनुमति देने के पुस्तकालय फ़ोल्डरों TCPPDF

से कैश नाम का एक फ़ोल्डर बनाने के 777 या 755 काम नहीं करते हैं।

3

उबंटू में इस त्रुटि tcpdf/cache/ फ़ोल्डर पर 777 अनुमतियाँ की स्थापना द्वारा तय किया गया था:

chmod 777 cache 

मैं 755 या 775 के साथ की कोशिश की और काम नहीं किया।

+1

धन्यवाद, मेरी समस्या इस के साथ हल हो गई थी। मुझे एक ** टीसीपीडीएफ त्रुटि मिल रही थी: छवि फ़ाइल नहीं खोल सकता: ** (कोई छवि फ़ाइल पथ नहीं) –

+1

जैसा कि मुझे डर है कि यह बहुत अनुमोदित होगा, मैं कैश निर्देशिका के समूह को www- डेटा (अपाचे नाम) और अनुमतियों के लिए 755 रखें। – CedSha

0

यह समस्या SELinux को लागू करने के कारण भी हो सकती है। एक अपवाद जोड़ने की जरूरत है। आसानी से setenforce 0 के साथ परीक्षण किया जा सकता है, और फिर पीडीएफ उत्पादन करने के लिए पुनः प्रयास करें।

0

जांचें कि आपकी फ़ाइलों में पीडीएफ (सभी निचले मामले) का विस्तार है और पीडीएफ (सभी कैप्स) नहीं है। या उन्हें लगातार एक या दूसरे तरीके से बनाते हैं। मुझे विंडोज/लिनक्स सिस्टम के बीच यह समस्या थी।

-1

मैंने छवि/घर/छवि/img1 के पूर्ण पथ के साथ url http://www.example.com/img1.jpg को प्रतिस्थापित करने का निर्धारण किया।jpg

0

मेरे मामले में, फ़ाइल संरक्षित थी और टीसीपीडीएफ ने उस छवि को कर्ल (!?!?) के साथ प्राप्त करने का प्रयास किया और इसे 403 त्रुटि मिली, क्योंकि अपाचे को सही कुकी नहीं मिली।