• 0

كيف أنشئ حقل تقدّم رفع الملف في "PHP"؟ و هل يمكن ذلك بدون استخدام ملفات "Flash" ؟

كيف أنشئ حقل تقدّم رفع الملف في "PHP"؟ و هل يمكن ذلك بدون استخدام ملفات "Flash" ؟

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


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

في السّابق كان مطوروا الويب يستخدمون تقنية "الفلاش" لإظهار تقدّم رفع الملفات للمستخدم أمّا مؤخراُ فقد ظهرت مكتبة "php" تدعم هذه الميزة تسمّى "APC" و لكن لا يمكنك تنصيب مكتبة "APC" على إصدارات "PHP" القديمة أقل من 5.2 و تكون هذه المكتبة مضمنة مسبقاً مع اصدار 5.4 من "php"

يجب عليك تضمين حقل مخفي "hidden" في نموذج "HTML" قبل حقل رفع الملف و يجب أن تكون خاصيّة "name" لهذا الحقل مساوية لقيمة "session.upload_progress.name" الموجودة في ملف "php.ini" لذا سنستخدم الدّالة "ini_get" للحصول عليها و يمكن وضع أي قيمة "value" والذي تريدها لهذا الحقل  كما في المثال التالي:

<form action="php_upload.php" method="post"
 enctype="multipart/form-data"> 
<input type="hidden" name="
<?php 
echo ini_get("session.upload_progress.name"); 
?>" value="file1_upload"> 
<input type="file" name="file1">
<input type="submit"> </form> 


مصفوفة المعلومات حول تقدّم رفع الملف موجودة في مصفوفة  "SESSION":

<?php
 $key = ini_get("session.upload_progress.prefix") ."file1_upload"; print_r($_SESSION[$key]);
 /* Example when uploading big file like iso image of ubuntu distro Array 
(    [upload_progress_123] => Array        
    (            [start_time] => 1362916055            
                 [content_length] => 705999396            
                 [bytes_processed] => 247534688           
                 [done] =>         
                 [files] => Array          
                     (                
                       [0] => Array             
           (                            [field_name] => file1    
                                        [name] => ubuntu-14.10-alternate-i386.iso                 
                                        [tmp_name] =>
                                        [error] => 0  
                                        [done] =>     
                                        [start_time] => 1362916055  
                                        [bytes_processed] => 247534ِ364   
                                              )      
         
                      )    
           )
 )
 */ 
?>
 

 

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


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

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

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

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


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

تسجيل الدخول

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


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