কেউ যা মনে করে কেবল এটিই নিয়ে কাজ করেছে বলে মনে হয় না এবং এটি খুব খারাপ তাই এখানে আমি কীভাবে পরিচালনা করেছি ...
ইতিহাস / পটভূমি
আমি কী ছিল তা দেখে সিএসএস-ট্রিকস নিবন্ধের ভিত্তিতে 2015 সালে একটি এসভিজি আপলোডার তৈরি করেছি। আমি ইমেজ পূর্বরূপের জন্য গ্রিড কাজ করেছিলাম এবং অন্যান্য কয়েকটি সমাধানও ব্যবহার করেছি। সাধারণ প্লাগইন (আইএমও ফাইল-ধরণের প্লাগইনগুলি সহজ হওয়া উচিত)
সমাধান
4.7 এর জন্য কয়েকটি পরিবর্তন ছিল। আসল পিআইটিএ হ'ল image/
মাইম টাইপের জন্য ডাব্লুপি এখন ইমেজগুলিতে জিডি ব্যবহার করছে। এটিকে বাইপাস করতে আমি svg
এক্সটেনশনটি সেট করে রেখেছি application/svg+xml
যাতে জিডি ফাইলটির সাথে ঝামেলা না করে।
আপডেট: 4.7.2 হিসাবে কিছু উজ্জ্বল স্পার্ক কিছু ক্ষেত্রে এটিও ভেঙে গেছে
তারপরে হুকের মাধ্যমে পরে আমরা এটি আবার গরম করেছি image/svg+xml
। অন্যান্য উত্তরে এটি একইরকম ব্যবহৃত হয়, তবে প্রভাবগুলি নির্মূল করতে আমরা প্রথমে এটি আমাদের নির্দিষ্ট ক্ষেত্রে লক করে রাখি (এটি কোনও এসভিজি ফাইল); আমরা পড়ার উপর নির্ভর করতে পারি $data['ext']
(কেবলমাত্র একটি তুলনা এবং একটি অ্যারে / হ্যাশ অ্যাক্সেস হিসাবে ফাইলের তথ্য পেতে ফাংশনের চেয়ে সস্তা হওয়া উচিত)।
আপডেট: 4.7.2 হিসাবে$data['ext']
সর্বদা সেট করা হয় না, সুতরাং এখন আমরা যদি ফাইলের নাম ব্যবহার করে এর দৈর্ঘ্য <1 এক্সট্র্যাক্ট (সম্ভাব্য असुरक्षित) এক্সটেনশন হয়
strtolower(end(explode('.', $filename)))
। ফাইলআইনফোর ব্যবহার করে আমি সত্যিই লড়াইয়ের কারণটি হ'ল মূলত পিএইচপি এক্সটেনশনের উপর নির্ভর করা খুব অস্বচ্ছ এবং সর্বদা সবার জন্য কাজ করে না (বিশেষত যারা এটি না থাকলে এক্সটেনশান সক্ষম করতে অ্যাক্সেস ছাড়াই বা অ্যাক্সেস না করে সংকলন করে না)। আমি এমন কিছু চাই যা কোনও এক্সটেনশনের পরিবর্তে কাজ করে। এটি সঠিক তথ্য রাখার বিষয় তাই আর আউটপুটকে আস্থা FileInfo
রাখার এবং এক্সটেনশানটি রাখার ক্ষেত্রে (আমি বিশ্বাস করি এটি 5.5+ এ ডিফল্ট) এটির কাজ করা উচিত। এছাড়াও এটি একটি প্লাগইন হওয়ায় এটি কোনও সংশোধনকারী কোর নয় আপনি এই কোডটি বন্ধ করতে বা হুকটি নিবন্ধভুক্ত করতে পারবেন।
https://github.com/Lewiscowles1986/WordPressSVGPlugin
দেখা
অন্যান্য কর্মক্ষেত্রসমূহ
অপরিবর্তিত আপলোডগুলি মঞ্জুরি দেওয়া একটি ভয়াবহ সমাধান কারণ অন্যরা যেমন বলেছেন যে এই থ্রেডের সাথে সংযোগ স্থাপন করা লোকেরা মিডিয়া আপলোডারের মাধ্যমে পিএইচপি ফাইল আপলোড করতে পারে (এটি খারাপ এবং আপনি যদি এটি করেন তবে আপনার থামিয়ে চিন্তা করা উচিত!)
চেক ব্যতীত যে কোনও ফাংশনের মাধ্যমে প্রতিটি ফাইলকে জোর করা (বিদ্রূপাত্মকভাবে যদি আপনার image/
মাইম টাইপ থাকে তবে আপনার কেবল সাধারণ এক্সট চেক থাকতে পারে না)। অপেক্ষাকৃত কুলুঙ্গি সমস্যা সমাধানের জন্য এটি আরও বিস্তৃত পৌঁছানোর প্রভাব তৈরি করার সম্ভাবনা রয়েছে এবং সামগ্রিকভাবে আরও কাজ প্রবর্তন করে (আমার প্লাগইন এডমিন ব্যবহারকারীদের জন্য অ্যাডমিন মিডিয়া ইউআই পেতে আরও কাজ করার জন্য প্রবর্তন করে)
যদি আমরা মাইমটিকে অ্যাপ্লিকেশন / এসভিজি + এক্সএমএল হিসাবে ছেড়ে দিয়ে থাকি এবং চিত্রটি আপলোড করতে পারে এমন মাইম প্রকারগুলি ফিল্টার করে তবে এএএফআইএকে ফিচারযুক্ত চিত্র হিসাবে ব্যবহারের জন্য ফিক্সগুলির প্রয়োজন হয় ইত্যাদি। সার্বজনীন এসভিজির অভিজ্ঞতা নিশ্চিত করার জন্য আরও কাজ করা দরকার তাই আমি বেছে নিয়েছি সাবধানে যুদ্ধ বাছাই।
আশাকরি এটা সাহায্য করবে.
define( 'ALLOW_UNFILTERED_UPLOADS', true );
করুনwp-config.php
। এটি উত্পাদনের জন্য নিরাপদ নয়।