मैं कैसे $ _ FILES ["fileToUpload"] ["tmp_name"]
एक चर में बदल सकता हूँ इस कार्य:
$ filename = compress_image (($ _ फ़ाइलें ["fileToUpload"] ["tmp_name"]), $ url, 30);
लेकिन मैं इस तरह से कुछ प्राप्त करने की कोशिश कर रहा हूं:
$ filename = compress_image ($ चित्र, $ url, 30);
लेकिन, ऊपर से काम करते समय यह काम नहीं करता है।
एक वैकल्पिक मैं शुरू किया गया था:
file_put_contents ($ target_file , $ छवि);
उस स्थिति में, छवि को निर्देशिका में ठीक से नाम दिया गया था, लेकिन छवि को हमेशा टूट गया था।
स्पष्ट करने के लिए:
($ _FILES ["fileToUpload"] ["tmp_name"]) को वेरिएबल में बदलने की आवश्यकता है जो > Ob_start (); गूंज imagejpeg ($ image, null, 30); $ Image = ob_get_clean (); ob_end_clean (); $ इमेज = जोड़ लार्स ($ इमेज);
मुझे निर्देशिका में सहेजने के लिए $ छवि का उपयोग करना होगा। $ छवि को सफलतापूर्वक mysql में संग्रहीत किया गया है मैं इंकोड की कोशिश की है, और $ छवि पर डीकोड, अभी भी कोई भाग्य नहीं है।
मुझे समस्या चरण की व्याख्या इस पंक्ति में शुरू होता है:
$ image = imagecreatefromstring (file_get_contents ($ _ फ़ाइलें ['fileToUpload'] ['tmp_name'])) ;
समस्याएं:
- प्रक्रिया करने के लिए अस्थायी फ़ाइल का उपयोग न करें;
move_uploaded_file ()
पहले -
file_get_contents ()
का उपयोग अनावश्यक; द्वारा एक स्थायी स्थान पर अपलोड की गई फ़ाइल को ले जाएं;imagecreatefromstring (file_get_contents ())
चीजों
imagecreatefromjpeg ()
(और अन्य प्रारूपों, जैसे GIF, PNG, आदि) का उपयोग कर सकते हैं। यहाँ आपका compress_image ()
फ़ंक्शन है:
फ़ंक्शन compress_image ($ source_url, $ destination_url, $ गुणवत्ता) {$ info = getimagesize ($ SOURCE_URL); अगर ($ info ['mime'] == 'छवि / jpeg') {$ image = imagecreatefromjpeg ($ source_url); } अन्यथा ($ info ['mime'] == 'चित्र / जीआईएफ') {$ image = imagecreatefromgif ($ source_url); } अन्यथा ($ info ['mime'] == 'छवि / png') {$ image = imagecreatefrompng ($ source_url); } Imagejpeg ($ image, $ destination_url, $ गुणवत्ता); $ गंतव्य लौटें; }
समस्याएं:
- यदि उपरोक्त में से कोई भी एमआईएम नहीं है, तो
imagejpeg ()
असफल हो जायेगा (लेकिन आपने ' टी इसे पूरा करने के लिए; फ़ंक्शन की वापसी मूल्य हमेशा जांचें) - आपने
$ destination_url
लिखने योग्य नहीं है & amp; मौजूद है या नहीं
अगला, यह मानता है कि compress_image ()
अच्छी तरह से काम करता है और एक वैध जेपीईजी के साथ $ destination_url
रिटर्न करता है पथ, निम्न कोड आगे की समस्याओं का कारण बनता है:
$ sql = "fffdf (` user_id`, 'imit`) मूल्यों में डालें (' 9 ',' $ image ') "; अगर (mysqli_query ($ conn, $ sql)) {गूंज "नया रिकॉर्ड सफलतापूर्वक बनाया गया"; } Else {गूंज "त्रुटि:" $ एसक्यूएल "& Lt; br & gt;" । mysqli_error ($ Conn); }
समस्याएं:
- क्यों आप सीधे डीबी में
$ image
को बचा सकते हैं? डीबी में छवि डेटा स्टोर करने के लिए यह बहुत बुरा व्यवहार है जब भी संभव हो तब पथ को सहेजें -
$ image
यहां पहुंच से बाहर नहीं है;$ image
फ़ंक्शनcompress_image ()
में रहता है, इस प्रकार$ image
अभी भीcompress_image () < / कोड>, जब तक कि आप
वैश्विक $ छवि का उपयोग नहीं करते हैं;
में संपीड़ित समारोह (जो सुझाया नहीं गया है)फ़ंक्शन compress_image (& $ image, $ destination_url, $ गुणवत्ता)
आपको वास्तव में $ source_url
की आवश्यकता नहीं है अगर आपके पास $ image
में संग्रहीत छवि डेटा है।
उपरोक्त मदद की उम्मीद है। < / P>
No comments:
Post a Comment