मैं वर्तमान में PHP में बेस 64 छवियों को डिकोड करने के लिए निम्न कर रहा हूँ:मैं डेटा पट्टी कर सकते हैं कैसे: पीएचपी
$img = str_replace('data:image/jpeg;base64,', '', $s['image']);
$img = str_replace('data:image/png;base64,', '', $s['image']);
$img = str_replace('data:image/gif;base64,', '', $s['image']);
$img = str_replace('data:image/bmp;base64,', '', $s['image']);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
आप देख सकते हैं ऊपर हम स्वीकार कर रहे हैं चार सबसे मानक छवि प्रकार (जेपीईजी, पीएनजी, जीआईएफ, बीएमपी);
हालांकि, इनमें से कुछ छवियां बहुत बड़ी हैं और प्रत्येक 4-5 बार स्कैनिंग के साथ str_replace एक भयानक अपशिष्ट और बहुत अक्षम है।
क्या कोई तरीका है कि मैं डेटा को विश्वसनीय रूप से स्ट्रिप कर सकता हूं: एक बेस में बेस 64 छवि स्ट्रिंग का छवि भाग? शायद स्ट्रिंग में पहले कॉमा का पता लगाकर?
माफ़ी माफ़ी अगर यह एक साधारण समस्या है, तो PHP मेरा फोर्टे नहीं है। अग्रिम में धन्यवाद। कर देगा यह बहुत तेजी से है, क्योंकि यह जीत लिया 'अगर पाठ आप स्थान ले रही हैं छवि में पहले पाठ है
$img = preg_replace('#data:image/[^;]+;base64,#', '', $s['image']);
, regexp की शुरुआत में ^
जोड़ने:
आप केक ले:
इस कोड का प्रयास करें! – TFennis
बिल्कुल सही! हालांकि सभी उत्तर अच्छे हैं और पूरी तरह से काम करते हैं। ऐसा प्रतीत होता है कि आपकी विधि सबसे तेज़ है, इसलिए जैसे ही मैं सक्षम हूं, मैं आपको उत्तर के साथ पुरस्कार दूंगा। बहुत धन्यवाद। :) – gordyr
@gordyr आपका स्वागत है –