สอบถามทำบันทึกรูป avatar ไม่ได้ [phpBB]

พูดคุย phpBB3, SMF ปัญหา การติดตั้ง ปัญหา การลง Mod การแก้ไข หน้าตาบอร์ด การใช้งาน Joomla 1.5, 1.6, 1.7, 2.5 ,3.x รวมถึง Joomla 4 การใช้งาน wordpress และ CMS อื่นๆ
การตั้งคำถาม ควรระบุรุ่นที่ใช้ ในการตั้งคำตามด้วย นะ เช่น SMF 1.1.4 หรือ SMF2.0, OpenERP, Odoo และ รายละเอียดของ server OS, php เวอร์ชั่นไหน ฐานข้อมูลอะไร

Moderator: mindphp

กฎการใช้บอร์ด
คำถามหมวดนี้ ควรระบุ รายละเอียดของ Server OS, เวอร์ชั่น ของ PHP, CMS ที่ท่านใช้
รวมถึง Hosting หรือ Control Panel Hosting
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16184
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

สอบถามทำบันทึกรูป avatar ไม่ได้ [phpBB]

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

พอดีทำบันทึกรูป avatar แต่ตอนนี้ไฟล์รูปไม่บันทึก ใช้ฟังกชั่นของ phpbb ช่วยบันทึก แต่พอกดบันทึกจะมีฟังก์ชั่น $result = $driver->process_form ที่ไม่ได้ค่า $result ออกมาค่ะ ต้องแก้ไขตรงไหนค่ะ

หน้าฟอร์ม

โค้ด: เลือกทั้งหมด

<dl>
        <dt><label for="avata">{L_PROFILE_IMAGE_V3}{L_COLON}</label></dt>
        <dd class="avatar_image  "  for="file-upload" >
            <label for="file-upload" >
                <!-- IF AVATAR -->{AVATAR}<!-- ELSE --><img src="{T_THEME_PATH}/images/no_avatar.gif" alt="" /><!-- ENDIF -->
            </label>
             <input id="file-upload"  name='avatar_upload_file' type="file" accept="image/*" style="display:none;">
             <input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_UPLOAD_SIZE}" />
            <button type="button" name="avatar_delete" id="avatar_delete" class="avatar_delete" ><span class="head-p-icon"><img src="{T_THEME_PATH}/images/icon_close.png" alt="" /></span></button>
  
            <!-- BEGIN avatar_drivers -->
            <!-- IF avatar_drivers.SELECTED -->
           <input type="hidden" name="avatar_driver" id="avatar_driver" value="{avatar_drivers.DRIVER}"  />
           <!-- ENDIF -->
           <!-- END avatar_drivers -->

<!-- IF S_UPLOAD_AVATAR_URL -->
	<input type="hidden" name="avatar_upload_url" id="avatar_upload_url" value="" class="inputbox" />
<!-- ENDIF -->
            <br>
            <span class="notify_image">{L_AVATAR_EXPLAIN}</span>
        </dd>
</dl>
ใน listener ของ extension

โค้ด: เลือกทั้งหมด

public function  upload_profile_avatar($file){
        global $phpbb_container, $cache,$user,$config,$request,$phpbb_root_path,$db,$template;
   
        if ($this->request->is_set_post('submit'))
        {    
            $avatar_path = $phpbb_root_path . $config['avatar_path'];        
        /* @var $phpbb_avatar_manager \phpbb\avatar\manager */
        $phpbb_avatar_manager = $phpbb_container->get('avatar.manager');
        $avatar_drivers = $phpbb_avatar_manager->get_enabled_drivers();
        $error= array();
        $avatar_data = \phpbb\avatar\manager::clean_row($user->data, 'user');         
        $driver_name = $phpbb_avatar_manager->clean_driver_name($request->variable('avatar_driver', ''));
                        if (in_array($driver_name, $avatar_drivers))
                        {    
                                $driver = $phpbb_avatar_manager->get_driver($driver_name);
                                //ตรงนี้ที่ไม่ได้ค่า $result ออกมา 
                                //process_form เป็นของ phpbb/avatar/driver/upload.php
                                $result = $driver->process_form($request, $template, $user, $avatar_data, $error); 
                               if ($result)
                                { 
                                        // Success! Lets save the result in the database
                                        $result = array(
                                                'user_avatar_type' => $driver_name,
                                                'user_avatar' => $result['avatar'],
                                                'user_avatar_width' => $result['avatar_width'],
                                                'user_avatar_height' => $result['avatar_height'],
                                        );
                                        $sql = 'UPDATE ' . USERS_TABLE . '
                                                SET ' . $db->sql_build_array('UPDATE', $result) . '
                                                WHERE user_id = ' . (int) $user->data['user_id'];
                                        $db->sql_query($sql);

                                }
                        }
            
        }
    }
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามทำบันทึกรูป avatar ไม่ได้ [phpBB]

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

avatar ใน phpBB มีหลายรูปแบบ
ถ้ามีการตั้งค่า ใช้ avatar รูปแบบอื่น โปรแกรม จะไม่เข้าการทำงานส่วนของการอัพโหลด
ตรวจสอบเบื้องต้นว่า form ที่ submit เข้ามามาถึงส่วนของการอัพโหลดที่เรียกไว้หรือ ยัง
Logs ดูค่าจากฟอร์ม ทั้งหมด ว่ามีค่าอะไรมาบ้าง

และดูจากโค้ด ตามโค้ดที่ยกมาเป็นตัวอย่างยังไม่มีการเอาตัวแปล ไปใช้ที่ไหนเลยนะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 16184
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: สอบถามทำบันทึกรูป avatar ไม่ได้ [phpBB]

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

  • อัพโหลดได้แล้วนะคะ
  • ส่วน ไม่ต้องใช้แล้วค่ะเพราะถ้าเราระบุ input ตามฟอร์มของ avatar แบบ upload เดิมก็ใช้งานได้แล้วค่ะ
  • แต่เหลือที่ไม่แสดง error หาก upload ภาพที่เกินขนาด ต้องทำอย่างไรค่ะ
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41232
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: สอบถามทำบันทึกรูป avatar ไม่ได้ [phpBB]

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ฟังก์ชั่นที่สร้างขึ้น ถ้ามีการเรียกใช้ ประกาศ agreement ไว้และไม่ได้กำหนดค่า default แสดงว่า
เวลาเรียกใช้ ต้องมีการใสค่า $file เข้ามาไม่อย่างนั้น php จะฟ้อง Error

โค้ด: เลือกทั้งหมด

function  upload_profile_avatar($file)
ลองเช็ค จากตัวมาตรฐานว่า ตัวแปล $file เก็บอะไรไว้บ้าง
เพื่อเอามาตรวจสอบ และ ใช้งาน
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 85