PHP Data-URI إلى الملف: حل مشكلات الصور التالفة
الحفاظ على سلامة بيانات الصورة أثناء التحويل من Data-URI إلى تنسيق الملف أمر بالغ الأهمية. أحد التحديات الشائعة التي تتم مواجهتها أثناء استخدام وظيفة file_put_contents في PHP لحفظ البيانات من استدعاء JavaScript Canvas.toDataURL() هو تلف الصورة الناتجة. تنبع المشكلة من وجود مسافات بيضاء في Data-URI.
توفر وثائق PHP حلاً مباشرًا لهذه المشكلة:
$encodedData = str_replace(' ', ' ', $encodedData);
$decodedData = base64_decode($encodedData);
من خلال استبدال المسافات البيضاء بعلامات الجمع، تتم إعادة بناء البيانات التي تم فك تشفيرها بشكل صحيح، مما يضمن عدم تلف ملف الصورة.
في حالتك المحددة، يمكنك كانوا يعملون باستخدام Data-URI الذي يحتوي على صورة PNG. إليك كيفية دمج الحل في التعليمات البرمجية الخاصة بك:
// Get the base64-encoded URI data from JavaScript
$data = $_POST['logoImage'];
// Remove the leading "data:image/png;base64," part
$uri = substr($data, strpos($data, ',') 1);
// Replace any whitespace with a plus
$uri = str_replace(' ', ' ', $uri);
// Decode the base64-encoded data
$decodedData = base64_decode($uri);
// Save the decoded data to a file with the specified name
file_put_contents($_POST['logoFilename'], $decodedData);
باتباع هذا الأسلوب، يمكنك حفظ Data-URI بنجاح كملف PNG غير تالف.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3