จำนวน smileys ที่ต้องการเพิ่ม มีหลายร้อยรูป ถ้าจะไปเพิ่มที่ละรูปก็เสียเวลามาก
เขียน php script ให้ script มันสร้างไฟล์ sql มาแล้วเอาไฟล์นั้นไปใส่ในฐานข้อมูลแทนของเดิมน่าจะไวกว่า
<?PHP $path = "more"; // โฟล์เดอร์ที่ใช้เก็บ smileys $filename = "smgen.sql"; // ชื่อไฟล์ที่ใช้เก็บคำสั่ง sql $item_per_row = 10; // จำนวน smileys/emo ที่จะแสดงใน 1 แถว $show_post = 59; // จำนวน smileys/emo ที่จะแสดงในหน้าโพสต์ข้อความ ในตัวอย่างนี้คือแสดง smileys/emo เฉพาะ 59 ตัวแรก ตัวอื่นๆจะแสดงเป็น popup $id = 1; $row = 0; $order = 0; $sql = "INSERT INTO `smf_smileys` (`id_smiley`, `code`, `filename`, `description`, `smiley_row`, `smiley_order`, `hidden`) VALUES\n"; $file = scandir($path); foreach($file as $value) { if($value=='.' || $value=='..') continue; if($id<=$show_post) $hidden = 0; else $hidden = 2; $sql .= "($id, ':$value:', '$value', '$value', $row, $order, $hidden),\n"; $id++; if(++$order==$item_per_row) { $order = 0; $row++; } } $sql = rtrim($sql, ",\n"); $sql .= ';'; echo $sql; $handle = fopen($filename, 'w'); fwrite($handle, $sql); fclose($handle); ?>
วิธีการใช้งานก็นำ script นี้ไปไว้บนโฮส เช่นเอาไปไว้ที่ forum/Smileys/smgen.php (ในตัวอย่างนี้จะใช้ชื่อไฟล์ smgen.php) แล้วอัพโหลด smileys/emo ไปไว้บนโฮส ในตัวอย่างนี้จะอัพโหลดไปไว้ที่ forum/Smileys/more หลังจากนั้นก็เรียกไฟล์ smgen.php ทำงาน เสร็จแล้ว script smgen.php จะสร้างไฟล์ชื่อ smgen.sql ขึ้นมาและแสดงข้อมูลคำสั่ง sql ในหน้า web browser เราสามารถ import ไฟล์ smgen.sql ไปในตาราง smf_smileys ได้เลย หรือจะนำคำสั่ง sql ที่แสดงในหน้า web browser ไปเพิ่มในลงในตารางโดยใช้ phpMyAdmin ก็ได้และก่อนที่จะ import ไฟล์นี้เข้าไปต้องลบข้อมูลเก่าในตาราง smf_smileys ออกก่อน
http://www.picohosting.com/howto/smf-smileys-script