หมวดไฟฟ้า/อิเล็กทรอนิกส์/คอมพิวเตอร์ => ห้อง SMF 2.0.X => Programming => ห้องคอมพิวเตอร์ => นานาสาระ SMF => ข้อความที่เริ่มโดย: Auto Man ที่ 11 กรกฎาคม 2563, 06:57:28

หัวข้อ: บอร์ด SMF วิธีทำอับภาพขึ้นโฮสต์ของเราเอง
เริ่มหัวข้อโดย: Auto Man ที่ 11 กรกฎาคม 2563, 06:57:28
   สืบเนื่องจากปัญหาของคนทำเว็บ จะมีปัญหาจากการนำภาพไปฝากไว้ที่เว็บฝากไฟล์ภาพ
อยู่ต่อมาเว็บฝากภาพเหล่านั้นเริ่มทะยอยปิดตัวลง จะช้าเร็วสุดท้ายก็ต้องปิด ทำให้ภาพใน
เว็บของเราไม่แสดง นี่แหละคือปัญหาของคนทำเว็บที่พบเจอกันเป็นประจำ

   เว็บ www.auto-nkp.com ก็เจอปัญหานี้เช่นกัน จึงหาวิธีการแก้ปัญหานี้แต่ไม่รู้ว่าจะสำเร็จไหม
ด้วยการหาสคริปต์ที่จะฝากภาพไว้ในโฮสต์ของเราเอง แม้จะทำให้เซิฟเวอร์ทำงานหนักขึ้น ก็อยู่
ในภาวะจำยอมละครับ

   พอดีไปเจอวิธีการแก้ปัญหานี้ จึงนำมาเสนอต่อเพื่อนสมาชิกครับ

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ

ตรงนี้มีภาพ! แต่ท่านจะมองไม่เห็น , ท่านต้อง  สมัครสมาชิก หรือ ลงชื่อเข้าระบบ


1. โหลด script ไปก่อน Download พอดีต้นฉบับมันหายไปแล้ว ผมเอาไฟล์ไปยำมานิดหน่อย ไม่รู้มีปัญหาอะไรมั้ย แต่ไล่โค้ดแล้วน่าจะไม่มีปัญหาครับ

2. วางแผนก่อน ว่าจะเอาไฟล์ที่อัพโหลดไปเก็บที่ไหนบนเซิร์ฟ อ่ะ สมมุติเป็น http://www.f0nt.com/forum/ ก็แตกไฟล์ข้อ 1 ไปใส่ในนั้นเลย จากนั้นทำการ CHMOD 777 ให้กับโฟลเดอร์ต่อไปนี้
 2.1 http://www.f0nt.com/forum/upload/files/
 2.2 http://www.f0nt.com/forum/upload/files/images/
 2.3 http://www.f0nt.com/forum/upload/files/thumb/images/
 2.4 http://www.f0nt.com/forum/upload/files/flash/

3. เปิดไฟล์ http://www.f0nt.com/forum/upload/image_upload.php ขึ้นมา (ใช้ notepad ก็ได้) บรรทัดที่ 5-7 มี config อยู่...

โค๊ด: [Select]
$maxsize     = 500 * 1024; // ขนาด แก้ตรง 500 เป็นตัวอื่น ตอนนี้เป็น 500KB/รูป
$baseurl     = 'http://www.f0nt.com/forum/upload/files/'; //url ไปโฟลเดอร์ที่เก็บรูป  อย่าลืมปิดท้ายด้วย /
$basedir     = 'files/'; // สอดคล้องกับโฟลเดอร์ในสุดของ baseurl ด้านบน

แก้ให้เหมาะสมตามเครื่องเราซะ
$basedir ถ้ากลัวงง ไม่แนะนำให้แก้ ถ้าอยากแก้...

$basedir จะอ้างอิงที่อยู่จากไฟล์ image_upload.php ไปยังโฟลเดอร์เก็บไฟล์ (โฟลเดอร์ที่ด้านในมีโฟลเดอร์ images, thumb, flash) ถ้าเราย้ายไฟล์ image_upload.php ไปไว้ที่อื่น ก็ต้องแก้ $basedir ตามด้วย แต่ถ้าแตกไฟล์จาก zip แล้วอัพขึ้นเซิร์ฟโดยไม่ได้ย้าย หรือเปลี่ยนชื่อโฟลเดอร์ ก็ไม่เป็นไร

4. ลองเข้าไปที่ http://www.f0nt.com/forum/upload/image_upload.php แล้วอัพไฟล์ดู ถ้าอัพไม่ได้...
   4.1 เช็คให้แน่ใจว่าทำ CHMOD 777 ครบหมดทุกโฟลเดอร์แล้ว
   4.2 เช็คให้แน่ใจว่า $basedir ถูกต้อง

5. ถ้าอัพสำเร็จแล้ว ต่อไปเอามาไปฝังในหน้าตอบกระทู้ ... จากโฟลเดอร์ของ smf ให้เปิดไปที่ /Themes/default/Post.template.php (แบ็คอัพก่อนเผื่อความปลอดภัย)

ธีม Default
ไฟล์ ธีม Post.template.php

หา:
โค๊ด: [Select]
// Finally, the submit buttons.
echo '

เพิ่มก่อนที่หา:
โค๊ด: [Select]
// Upload Image
echo '
<tr>
<td></td>
<td><iframe src="UPLOADURL" width="550" height="60" frameborder="0"></iframe></td>
</tr>';

ตรง UPLOADURL คือ url ที่มาจากข้อ 3 (http://www.f0nt.com/forum/upload/image_upload.php)

ที่มา... http://pordoo.com/tip/upload-pictures-server/

   
 

http://www.f0nt.com/forum/index.php?topic=6525.825