Monday, 15 April 2013

post - PHP $_FILES["fileToUpload"]["tmp_name"] -


मैं कैसे $ _ 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