Discuz Thai

 ลืมรหัสผ่าน
 สมัครสมาชิก

ข้อตกลงการใช้งานกระดานข่าวดิสคัสไทย DiscuzThai Agreement (English Version) ประกาศดิสคัสไทย - ทำเนียบดิสคัสภาษาไทย

Discuz! X3.5 Thai R20240520 Rev.9 (NEW) [วิดีโอช่วยสอน] อัปเกรด Discuz! X3.4 เป็น X3.5 Discord ของ Discuz! Thai Community อย่างเป็นทางการ

Discuz! X3.4 Thai R20220811 (REV.75) สิ้นสุดการสนับสนุน Discuz! X3.4 ภาษาไทยตั้งแต่วันนี้เป็นต้นไป (ขอแนะนำให้อัปเกรดเป็น X3.5 แทน)

ค้นหา
แท็กยอดนิยม: ดิสคัสภาษาไทย Discuz Thai
ดู: 3123|ตอบกลับ: 10

[ กระทู้แฉ ] วิเคาะห์ DIY ของเว็บ 7nime ว่าทำกันอย่างไร

  [คัดลอกลิงก์]
rokaisakkon โพสต์ 2014-4-1 14:36:59 |โหมดอ่าน
แก้ไขครั้งสุดท้ายโดย rokaisakkon เมื่อ 2014-4-1 14:40

กระทู้นี้ จะไม่เปิด เผย รหัสโค้ดใด ๆ แต่จะชี้ว่าเขาทำอย่างไร
บอกไว้ก่อน ว่าผมไม่ได้ มาโปรโมทเว็บ  เพราะว่าไม่รู้จะโปรโมทไม่ทำไม เหมือนกัน ดังนั้น เข้าใจเจตนาของผมด้วยครับ ขอบคุณครับ

เริ่มแรกเลย ไปทำความรู้จักกันก่อน ว่ามีอะไร บ้างที่ต้องรู้
  • เว็บ ตัวอย่างครับ ดูได้ด้านล่าง
  • ระบบ DIY ของดิสคัส ที่เจ๋ง แจ๋ม โคตร ๆ  เอาแบบว่า มันสุดยอดอะ
  • ไฟล์โค้ด ของดิสคัส ที่เรียงมาเป็นระเบียบ สวยงาม ช๊อบ ๆ ชอบ
  • เว็บ อัพรูปภาพ imgur
  • Discuz x2.5  อ้างอิงในการเขียนกระทู้นี้


เริ่มแรกเลย บางคน สงสัย DIY ที่จะเอามา แฉมันดีอย่างไร  ทำไม ต้องเอามาแฉ คนอื่นเขาก็ ทำเป็น   มาดูรูป กันครับ



ลิงค์เว็บไซต์ครับ
  1. http://7nime.com
คัดลอกไปที่คลิปบอร์ด


เริ่มแรกเลยเราต้องมาดูกันก่อนว่าทำไม เราต้องมา วิเคาะห์ DIY ของเว็บนี้ เพราะมันก็ ปรกติ เฉย ๆ บางคนบอก ว่า ตัวเองก็ทำได้  มาดูข้อแตกต่างครับ

  • มีรูปใน DIY แต่ ในกระทู้ กลับไม่ใช่รูปที่ อัพขึ้นโฮส เป็น url รูปจากที่ต่าง ๆ
  • รูปใน  DIY มาจาก imgur  เอ๊ะ ทำไมมันไม่มาจากใน  Discuz หรือ โฮสเราเองละ
  • ไอค่อน NEW สีแดง ที่มีเฉพาะ บางรูป ใน DIY



มาวิเคาะห์ แต่ละข้อกันดีกว่าครับ

ทำไม DIY  ดึงรูปจากกระทู้ ที่ไม่ได้อัพรูปไว้บนโฮส ขึ้นมาโชว์ได้ละ

ผมเดาว่า  เจ้าของเว็บได้ทำการ แก้ไข โค้ดใน source/class/block/forum/block_thread.php
ในฟังชั่น getdata โดยในนั้น มี โค้ดการ ส่ง diy ออกมาแสดงครับ   

เขาน่าจะ เขียนโค้ด โดย ใช้ fid ที่เขากำหนดไว้  (บางบอร์ดไม่จำเป็นต้องใช้ เขียนเทียบ fid กันเหนียว) เทียบ ไว้ fid ในฟังชั่นนั้น
หากตรงกัน เขาก็ while ตามที่ฟังชั่น getdata  ทำงานครับ แต่ปรับแต่งตรง LIMIT ครับ ตรง $item  ให้ *2 เข้าไป แล้วเอาไปใช้ครับ  (เผื่อกรณีที่หารูป diy ไม่เจอ)

ใน while   เขาใช้ tid  และ ขนาดของรูป ไป sql เพื่อดึง หา url รูป diy ใน ฐานข้อมูลจัดเก็บข้อมูลรูปภาพ diy ที่เขา สร้างขึ้นมาครับ  หากมีก็ดึงมาใช้เลย  
เอ๊ะบางคนสงสัย ฐานข้อมูลจัดเก็บข้อมูลรูปภาพ diy มาได้ไง   มาจากตรงนี้ครับ  เมื่อกี้ผมบอกไปว่า ถ้าเขาเจอก็ดึงมาใช้  ถ้าในกรณีที่ไม่เจอละ ให้บันทึก ข้อมูลลง ฐานข้อมูลจัดเก็บข้อมูลรูปภาพ diy เลยครับ อย่าลืมบันทึกขนาดของรูปลงไปด้วยนะครับ แล้ว ก็ continue while  เลยครับ

*ใน while   อย่าลืมเขียนตัวนับรอบนะครับ ให้เท่ากับ $item หากเท่าแล้ว สั่ง break เลย

ต่อไปคือ คำสั่งสำหรับ สั่งจัดการ url ที่เราบันทึกลง ฐานข้อมูลจัดเก็บข้อมูลรูปภาพ diy ไว้นะครับ

สร้างไฟล์มาครับ แล้วใช้ while  ฐานข้อมูลจัดเก็บข้อมูลรูปภาพ diy ที่เก็บ ข้อมูล ที่เราบันทึก url  diy  ครับ แล้ว   วนแล้วดึง url มาใช้ curl ดึง รูปจาก url แล้วสั่งลดขนาด โดยใช้ ขนาดที่เรา บันทึกเก็บไว้ มาสั่ง crop  ครับ แล้ว สั่ง อัพโหลดขึ้น  imgur ครับ  หรือถ้าท่านไม่อยาก api ไป imgur ให้บันทึกลง data ของ ดิสคัสเลยครับ


อย่าลืมให้ โฮส cronjob ไฟล์นี้ทุก ๆ 10 นาทีนะครับ


1. ทำไมถึงต้องใช้ รูป ใน imgur
ตอบ ไม่เปลืองเนื้อที่ในโฮส  ตอนย้ายมันลำบาคนะ   ^^

2. ทำไมต้องสร้างไฟล์ cronjob ขึ้นมา ทำไมไม่ ใส่โค้ดลงใน getdata ของ  diy เลย  

ตอบ เว็บจะอืดบางช่วงครับ


3. ทำไมไม่แจกโค้ด แล้วแบบนี้ใครจะทำได้
ตอบ ต้องลองหัดกันเองครับ  ผมก็เดาเอา  


แถม regex ให้ครับ

  1. $message = $data['message'];
  2. if(!preg_match("/\<img[^>]*src=["\']([^\s'"<>]+)["\'][^>]*\>/is", $message, $image)) {
  3.   if(!preg_match("/\[img\]([^\s'"<>]+)\[\/img\]/is", $message, $image)) {
  4.      preg_match("/\[img=\d{1,4}[x|\,]\d{1,4}\]([^\s'"<>]+)\[\/img\]/is", $message, $image);
  5.   }
  6. }
  7. $image = $image[1];
คัดลอกไปที่คลิปบอร์ด


DIY ตรง ไอค่อน New ผม กำหนด ทีมเพจเองแล้วใช้ [index=1] [/index] ครอบครับ ตัวเชขคือ จำนวนนับ ที่ต้องการให้ แสดงเป็นแบบนั้น ๆ

หากมีคำถามตรงไหนไม่เข้าใจ  ถามได้ครับผม ถ้าชอบก็ กด  + หรือ เพียงแค่คำขอบคุณก็พอครับ


ขออภัย! โพสต์นี้มีไฟล์แนบหรือรูปภาพที่ไม่ได้รับอนุญาตให้คุณเข้าถึง

คุณจำเป็นต้อง ลงชื่อเข้าใช้ เพื่อดาวน์โหลดหรือดูไฟล์แนบนี้ คุณยังไม่มีบัญชีใช่ไหม? สมัครสมาชิก

x

คะแนน

จำนวนผู้เข้าร่วม 5จิตพิศัย +9 Money +3 ย่อ เหตุผล
phangancity + 1 ถูกใจ
boingabc + 1 ขอบคุณครับ
muksuck77 + 1 เยี่ยมมากๆ
cyber2friends + 5 + 3 เนื้อหาดีมีสาระ
benzharem + 1 เนื้อหาดีมีสาระ

ดูบันทึกคะแนน

cyber2friends โพสต์ 2014-4-1 15:01:25
นั่งอ่านแบบงงๆ แล้วก็ปรับความเข้าใจไป

ขอบคุณครับ
jaideejung007 โพสต์ 2014-4-1 15:03:21
เข้ามาจับจองพื้นที่ไว้แปปครับ

เดี๋ยวไปอ่านที่บ้าน
admins โพสต์ 2014-4-2 13:20:01
ไอคอน NEW คุ้นๆ 55+

แสดงความคิดเห็น

ขอบคุณครับ ที่ อนุเคาะห์ อิอิ  โพสต์ 2014-4-3 19:18
korakot โพสต์ 2014-4-3 22:23:44
ขอบคุณครับสำหรับความรู้ เดียวเอาไปลองบ้าง
StaFF_PiRcH โพสต์ 2014-6-3 03:17:02
แวะมาสูบความรู้ครับเลิกเล่น DZ ไปพักใหญ่ ๆ เลยเพิ่งกลับมาครับ
sakko51150 โพสต์ 2014-9-26 00:28:03
อยากทราบตรงดึงรูปจากเว็บอื่นมาขึ้น DIY ให้ได้เหมือนกันนะครับ
แต่อ่านแล้วยังงงๆอยู่เลย T^T
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | สมัครสมาชิก

รายละเอียดเครดิต

รายชื่อผู้กระทำผิด|Archiver|ดิสคัส ไทย Follow us: Become a fan on facebook. Follow us on Twitter.

GMT+7, 2024-11-21 20:09

Powered by Discuz! X3.4, Rev.66

Copyright © 2001-2021 Tencent Cloud. Licensed

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้