• 0

كيف أرفع ملف pdf يحمل اسم عربي باستخدام لغة php؟

أحاول رفع ملف pdf يحمل اسم عربي باستخدام لغة php، لكن اسمه يتحول لرموز غير مفهومة
فكيف يمكنني حل هذه المشكلة، مع العلم أنني مضطر لإبقاء اسمه باللغة العربية لعملية الأرشفة لاحقًا؟
وشكرًا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

للقيام برفع ملفات تحمل أسماء باللغة العربية يجب تحول ترميز  الصف الذي يحمل اسم الملف إلى utf-8 والذي ينصح باستعماله دائمًا وفي كل ملفات الموقع نظرًا لأنه يدعم أغلب اللغات (إن لم نقل كلها). 

لذلك يجب تحويل ترميز الملف والصف الذي يحتوي على اسم الملف عن الطريق الخطوات التالية :

في البداية أضف الكود التالي إلى ملف php:

header('Content-type: text/plain; charset=utf-8');

ومن ثم ادخل إلى الجدول الخاص برفع الملف وقم بكتابة هذا الكود في console (غيّر name الى اسم الصف الذي يحمل اسم الملف):

set character_set_database=utf8;
set session character_set_server=utf8;
set global character_set_server=utf8;
set name utf8;

المزيد حول ترميز utf-8

اللغات التي يدعمها utf-8

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

جرب استعمال السكريبت التالي:

صفحة  اختيار الملف بـ html:

<html>
<head></head>
<body>
<form action="up.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="FILE" name="file" id="file">
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

صفحةphp لتحميل الملف إلى السيرفر:

<?php 
if(isset($_POST['submit'])) {
   $file  = $_FILES['file']['name'];
   $encoded_fname = base64_encode($file);
   if($file) {
        $move = move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $encoded_fname);
        if($move) {
        echo "file uploaded";
        }
   }
}
?>

صفحة الاطلاع على الملف والتأكد من تحميله:

$dir = "upload/";
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if(mb_check_encoding($file)) {
            echo "filename: .".base64_decode($file)."<br />";
            }
            else {
                echo $file . "<br>";
            }
        }
        closedir($dh);
    }
}

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن