วิธีการปรับเปลี่ยนตำแหน่งของ index อัพโหลดรูปขึ้นมาใหม่ ใน phpbb

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

Post Reply
User avatar
Ittichai_chupol
PHP VIP Members
PHP VIP Members
Posts: 3132
Joined: 19/09/2018 10:33 am

วิธีการปรับเปลี่ยนตำแหน่งของ index อัพโหลดรูปขึ้นมาใหม่ ใน phpbb

Post by Ittichai_chupol » 04/07/2019 4:40 pm

เว็บบอร์ด phpbb นั้นเป็บเว็บบอร์ดที่มี code และ ฟั่งชั่น ตางๆ ที่สนับสนุนการใช้งาน ในส่วนต่างๆของเว็บ มาให้เป้นพื้นฐาน ตั้งแต่แรกติดตั้งอยู่ นั้นจึงทำให้ผุ้พัฒนา ไม่ต้องเสียเวลากับการที่จะต้องสร้าง ส่วนต่างขึ้นมาเองทั้งหมด เพียงแค่ปรับปรุง หรือ เสริมเพียงเเค่บางส่วนเข้าไปเท่านั้น ก็ทำให้เว็บบอร์ด สามารถทำงาน ตามที่เราต้องการ โดยวิธีการที่เราจะทำให้เว็บบอร์ด phpbb สามารถทำในส่วนที่ไม่ได้มีมากับตอนติดตั้งครั่งแรกนั้น คือการส่ร้าง ส่วนขยาย(Extension)
ส่วนขยาย(Extension) จะทำให้ เว็บบอร์ด phpbb มีประสิทธิภาพ การทำงานที่ดีขึ้น โดยสามารถ ปรับเพิ่มเพิ่มแก้ไข้ ในส่วนต่างๆของ เว็บบอร์ด phpbb ได้ตามอิสระ ซึ่งในขั้นตอนพัฒนา ไม่จำเป้นที่จะต้องเข้าไปยุ่งเกี่ยว Code เดิมที่มีอยู่(แต่อาจจะมีบางครั่งที่ต้องเข้าไปแก้ไข้ เพิ่มเติม) นั้นก็ช่วยเราไม่ต้องกังวลกับการผิดพลาดที่อาจจะเกิดขึ้นได้เพราะหาก Code ของ เว็บบอร์ด phpbb เกิดความผิดพลาดก้อาจจะกระทบต่อการทำงานส่วนอื่นๆ ด้วย โดยการสร้าง Extension นั้นก็มีวิธีการพัฒนาที่ไม่ซับซ่อนมาก เพียงแต่จะมีเพียงการทำงานที่จะต้องเป็นไปตามที่เราต้องการเท่านั้น ที่จะยากนิดหน่อย
และนอกจากนี้ ในการสร้าง พัฒนา ส่วนขยาย(Extension) นั้นยังมีการนำภาษาคอมพิวเตอร์อื่นมาใช้ร่วมกันอีก หลายภาษา ที่นอกจาก php ก็ยังมี hrml css javascript ajax
เพื่อเพิ่มประสิทธิภาพให้กับการทำงานของ ส่วนขยาย(Extension) ได้ดีและมีประสิทธิภาพเพิ่มมากขึ้นไปอีก แต่ทั้งนี้ในการติดตั้ง phpbb ครั่งแรกก็มีสิ่งเหล่านี้ติดมาให้เหมาะสมกับการใช้งานอยู่ เพียงแต่ในบางส่วนเราจะต้องเขียนเพิ่มเข้าไปเองงบางง หรือจะเป็นการนำเอาส่วนที่มีอยู่เเล้วว มาปรับเปลี่ยนให้ทำงานร่วมกับ ส่วนขยาย(Extension) ดังเช่นสิ่งที่จะทำให้ดู ต่อจากนนี้ นั้นก็คือ ปรับเปลี่ยนตำแหน่งของ index อัพโหลดรูปขึ้นมาใหม่

1.สร้างตัวแปร array ขึ้นมาก่อน

Code: Select all

var input = []; 
2.ตรวจสอบค่าจำนวนข้อมูลข้อมูลทั้งหมดแล้วเก็บค่าลงในตัวแปร array ที่สร้างขึ้นมา

Code: Select all

                                     $.each($(this).parent().find('input[type="hidden"]'), function (i) {  // ใช้ loop เพื่อ แสดงหาค่า
                                    var nameflie = $(this).attr('name');  //หาชื่อของไฟล์รูปที่ถูกเก็บไว้
                                    var res = nameflie.replace('[0]', '[' + index + ']');
                                    var m = res.match(/attachment_data\[(.*)\]\[(.*)\]/);  //
                                    var n = m[2];  //เหลือเอาข้อมูลจาก array ชุดที่ 2 เท่านั้น
                                    $(this).attr('name', res);
                                    input[n] = $(this).val(); //เก็บค่าที่ได้ลงในตัวแปร array
                                });
3.สร้างตัวแปรขึ้นมาเพื่อเก็บค่าอีกครั้ง

Code: Select all

data_array.push(input);

4.จากนั้นใช้ฟังชั่น phpbb.plupload.update() เพื่อส่งค่าและตรวจสอบค่าของรูปภาพที่มีอยู่ในปัจจุบัน

Code: Select all

  phpbb.plupload.update(data_array, 'addition', 0, downloadUrl);

5.ค้นหาค่าที่ต้องการก็คือ ชื่อไฟล์ และจำนวนของ index ที่มีอยู่ก่อนหน้านี้ในกระดานกระทู้

Code: Select all


   var textarea = $('#message', phpbb.plupload.form),
         text = textarea.val();
   var match = text.match(/\[attachment=(\d*)\](.*?)\[\/attachment\]/g);


6.วนค่าที่มีอยู่ทั้งหมดแล้วปรับเปลี่ยนค่า ตำแหน่งก่อนส่งชุดข้อความใหม่ลงในกระดานกระทู้

Code: Select all


 $.each(data_array, function (index) {
                            for (var i = 0; i < match.length; i++) {
                                var m = String(match[i]).match(/\[attachment=(\d*)\](.*?)\[\/attachment\]/); 
                                if (this.real_filename == m[2]) {
                                    text = text.replace(m[0], '[attachment=' + index + ']' + this.real_filename + '[/attachment]');  //แทนค่า index กับชื่อของไฟล์ เข้าไปใหม่
                                }
                            }
                        });
 textarea.val(text);

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22585
Joined: 22/09/2008 6:18 pm
Contact:

Re: วิธีการปรับเปลี่ยนตำแหน่งของ index อัพโหลดรูปขึ้นมาใหม่ ใน phpbb

Post by mindphp » 04/07/2019 6:11 pm

มีภาพประกอบ ส่วนที่โค้ดทำงานไหมครับ
ติดตาม 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

Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 10 guests