SMF SSI.php Functions
Current Version: 2.1.7
This file is used to demonstrate the capabilities of SSI.php using PHP include functions. The examples show the include tag, then the results of it.
Include Code
To use SSI.php in your page add at the very top of your page before the <html> tag on line 1 of your php file:
<?php require("SSI.php"); ?>
Some notes on usage
All the functions have an output method parameter. This can either be "echo" (the default) or "array"
If it is "echo", the function will act normally - otherwise, it will return an array containing information about the requested task. For example, it might return a list of topics for ssi_recentTopics.
This functionality can be used to allow you to present the information in any way you wish.
Additional Guides & FAQ
Need more information on using SSI.php? Check out Using SSI.php article.
Recent Topics Function
Code (simple mode)
<?php ssi_recentTopics(); ?>
Code (advanced mode)
<?php ssi_recentTopics($num_recent = 8, $exclude_boards = null, $include_boards = null, $output_method = 'echo'); ?>
Result
Recent Posts Function
Code
<?php ssi_recentPosts(); ?>
Result
Top Boards Function
Shows top boards by the number of posts.
Code
<?php ssi_topBoards(); ?>
Result
Top Topics
Shows top topics by the number of replies or views.
Code (show by number of views)
<?php ssi_topTopicsViews(); ?>
Result
Code (show by number of replies)
<?php ssi_topTopicsReplies(); ?>
Result
Top Poster Function
Shows the top poster's name and profile link.Code
<?php ssi_topPoster(); ?>
Result
Latest Member Function
Shows the latest member's name and profile link.
Code
<?php ssi_latestMember(); ?>
Result
Member of the Day
Shows one random member of the day. This changes once a day.
Code
<?php ssi_randomMember('day'); ?>
Result
|
junjao
junjao.com |
Who's Online Function
This function shows who are online inside the forum.
Code
<?php ssi_whosOnline(); ?>
Result
Log Online Presence
This function logs the SSI page's visitor, then shows the Who's Online list. In other words, this function shows who are online inside and outside the forum.
Code
<?php ssi_logOnline(); ?>
Result
Login Function
Shows a login box only when user is not logged in.
Code
<?php ssi_login(); ?>
Result
Logout Function
Shows a logout link only when user is logged in.
Code
<?php ssi_logout(); ?>
Result
Welcome Function
Greets users or guests, also shows user's messages if logged in.
Code
<?php ssi_welcome(); ?>
Result
Today's Calendar Function
Code
<?php ssi_todaysCalendar(); ?>
Result
Today's Birthdays Function
Code
<?php ssi_todaysBirthdays(); ?>
Result
Today's Holidays Function
Code
<?php ssi_todaysHolidays(); ?>
Result
Today's Events Function
Code
<?php ssi_todaysEvents(); ?>
Result
Forum Stats
Shows some basic forum stats: total members, posts, topics, boards, etc.
Code
<?php ssi_boardStats(); ?>
Result
Board News Function
Shows the latest posts from read only boards, or a specific board.
Code
<?php ssi_boardNews(); ?>
Result
Windows 11 ขึ้น error Preparing Automatic Repair แก้ไขอย่างไร
* ไฟดับหรือเครื่องปิดกะทันหัน
* ไฟล์ระบบ Windows เสียหาย
* SSD/HDD มีปัญหา
* Windows Update ผิดพลาด
* Driver หรือ Boot Configuration เสีย
ให้ลองแก้ไขตามลำดับจากง่ายไปยาก ดังนี้
---
## วิธีที่ 1 ตรวจสอบอุปกรณ์ภายนอก
ถอดอุปกรณ์ทั้งหมดออก เช่น
* USB Flash Drive
* External HDD
* Printer
* Card Reader
จากนั้น Restart เครื่องอีกครั้ง
---
## วิธีที่ 2 เข้า Windows Recovery (WinRE)
ถ้าเข้าไม่ได้
1. เปิดเครื่อง
2. เมื่อเห็นโลโก้ Windows กดปุ่ม Power ค้างจนดับ
3. ทำซ้ำ 3 ครั้ง
Windows จะขึ้น
```
Preparing Automatic Repair
```
แล้วเข้าสู่
```
Choose an option
```
เลือก
```
Troubleshoot
→ Advanced options
```
---
## วิธีที่ 3 Startup Repair
เลือก
```
Startup Repair
```
ให้ Windows ซ่อมตัวเอง
หากสำเร็จเครื่องจะบูตได้ทันที
---
## วิธีที่ 4 System Restore
ถ้ามี Restore Point
```
Troubleshoot
→ Advanced options
→ System Restore
```
ย้อนกลับก่อนเกิดปัญหา
---
## วิธีที่ 5 ถอน Windows Update
หากเพิ่งอัปเดต
```
Advanced options
→ Uninstall Updates
```
เลือก
```
Uninstall latest quality update
```
ถ้าไม่ได้
เลือก
```
Uninstall latest feature update
```
---
# วิธีที่ 6 ใช้ Command Prompt ซ่อมระบบ
เลือก
```
Advanced options
→ Command Prompt
```
### ตรวจสอบไดรฟ์ Windows
พิมพ์
```cmd
diskpart
list volume
exit
```
ดูว่า Windows อยู่ไดรฟ์อะไร
เช่น
```
C:
```
หรือ
```
D:
```
---
### ตรวจสอบดิสก์
สมมุติ Windows อยู่ C:
```cmd
chkdsk C: /f /r
```
รอจนเสร็จ
---
### ตรวจสอบไฟล์ระบบ
```cmd
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
```
---
### ซ่อม Boot
```cmd
bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd
```
---
หาก
```
bootrec /fixboot
Access is denied
```
ให้ใช้
```cmd
bootsect /nt60 sys
```
แล้วรัน
```cmd
bootrec /fixboot
```
อีกครั้ง
---
## วิธีที่ 7 ตรวจสอบ BCD
รัน
```cmd
bcdedit
```
หาก Error
```
The boot configuration data store could not be opened
```
ให้สร้างใหม่
```cmd
bcdboot C:\Windows
```
---
## วิธีที่ 8 ใช้ Safe Mode
```
Startup Settings
```
กด
```
4
```
หรือ
```
F4
```
เข้า Safe Mode
แล้วถอน Driver หรือโปรแกรมที่เพิ่งติดตั้ง
---
## วิธีที่ 9 ใช้ USB Windows 11 Repair
สร้าง USB Windows 11
บูตจาก USB
เลือก
```
Repair your computer
```
ไม่ต้องเลือก Install
แล้วทำตามข้อด้านบน
---
## วิธีที่ 10 Reset this PC
หากข้อมูลยังอยู่
เลือก
```
Reset this PC
```
แล้วเลือก
```
Keep my files
```
Windows จะติดตั้งใหม่แต่เก็บไฟล์ส่วนตัวไว้ (แอปที่ติดตั้งจะถูกลบ)
---
# วิธีที่ 11 ตรวจสอบ SSD
หาก
* ซ่อมไม่ผ่านทุกวิธี
* CHKDSK มี Bad Sector
* บูตวนตลอด
มีโอกาส SSD เริ่มเสีย
แนะนำ
* เช็ก SMART ของ SSD
* สำรองข้อมูล
* เปลี่ยน SSD
---
# หากเป็นเครื่องของคุณ
จากประวัติที่คุยกันก่อนหน้านี้ คุณเพิ่งพบปัญหาเกี่ยวกับ Windows 11 หลายครั้ง ดังนั้นมีโอกาสว่าไฟล์ระบบหรือ SSD อาจเริ่มมีปัญหา หากหลังจากรัน `chkdsk` และ `sfc` แล้วยังบูตไม่ได้ ควรตรวจสุขภาพ SSD ก่อนตัดสินใจติดตั้ง Windows ใหม่ เพราะหาก SSD เสีย การลง Windows ใหม่อาจไม่แก้ปัญหาในระยะยาว
-----------------------------------------------------------
ghost ssd ทำอย่างไร
### วิธีที่ 1: Clone Disk (แนะนำ)
ง่ายที่สุด ไม่ต้องลง Windows ใหม่
**โปรแกรมยอดนิยม**
* [Macrium Reflect](https://www.macrium.com/reflectfree?utm_source=chatgpt.com)
* [AOMEI Backupper](https://www.aomeitech.com/aomei-backupper.html?utm_source=chatgpt.com)
* [EaseUS Disk Copy](https://www.easeus.com/disk-copy/?utm_source=chatgpt.com)
**ขั้นตอน**
1. ต่อ SSD ลูกใหม่เข้าคอมพิวเตอร์
2. ติดตั้งโปรแกรม Clone Disk
3. เลือก SSD/HDD เดิมเป็น Source
4. เลือก SSD ใหม่เป็น Destination
5. เริ่ม Clone
6. ปิดเครื่อง
7. ถอดไดรฟ์เดิม หรือเปลี่ยนลำดับ Boot ให้ SSD ใหม่เป็นตัวแรก
8. เปิดเครื่องและทดสอบการทำงาน
---
### วิธีที่ 2: สร้าง Image แล้ว Restore
เหมาะสำหรับเก็บ Backup ไว้ก่อน
1. สร้างไฟล์ Image ของไดรฟ์เดิม
2. บันทึกลง External HDD
3. เปลี่ยนเป็น SSD ใหม่
4. Restore Image กลับลง SSD
---
### ข้อควรระวัง
* ความจุ SSD ใหม่ควรมากกว่าหรือเท่ากับข้อมูลที่ใช้งานจริง
* ถ้า SSD ใหม่เล็กกว่า HDD เดิม ต้องให้ข้อมูลรวมไม่เกินความจุ SSD
* หลัง Clone เสร็จควรตรวจสอบว่า Windows เปิดใช้ TRIM แล้ว
เปิด Command Prompt (Admin) แล้วพิมพ์
```cmd
fsutil behavior query DisableDeleteNotify
```
ถ้าผลลัพธ์เป็น
```cmd
DisableDeleteNotify = 0
```
แสดงว่า TRIM ทำงานปกติ
หากแจ้งรุ่น SSD และ Windows ที่ใช้อยู่ (Windows 10 หรือ 11) ผมสามารถแนะนำวิธี Clone แบบละเอียดทีละขั้นตอนได้ครับ।
------------------------------------------------------------
การสมัคร Facebook เริ่มต้นทำอย่างไร
## สิ่งที่ต้องเตรียม
* เบอร์โทรศัพท์มือถือ หรืออีเมลที่ใช้งานได้
* ชื่อ-นามสกุลจริง
* วันเดือนปีเกิด
* รหัสผ่านที่ปลอดภัย
## สมัครผ่านเว็บไซต์
1. เข้าไปที่ [Facebook]
2. คลิก **"สร้างบัญชีใหม่"**
3. กรอกข้อมูล
* ชื่อ
* นามสกุล
* วันเกิด
* เพศ
* เบอร์โทรศัพท์หรืออีเมล
* รหัสผ่าน
4. กด **"สมัคร"**
5. Facebook จะส่งรหัสยืนยัน (OTP) ไปยังเบอร์โทรศัพท์หรืออีเมล
6. กรอกรหัสยืนยัน
7. สมัครสำเร็จและเริ่มใช้งานได้ทันที
## สมัครผ่านมือถือ
1. ดาวน์โหลดแอป [Facebook App]
2. เปิดแอปแล้วกด **"สร้างบัญชี Facebook ใหม่"**
3. กรอกข้อมูลตามขั้นตอน
4. ยืนยันเบอร์โทรศัพท์หรืออีเมล
5. ตั้งรูปโปรไฟล์และข้อมูลส่วนตัว
## หลังสมัครเสร็จ ควรทำทันที
1. เพิ่มรูปโปรไฟล์
2. เพิ่มรูปหน้าปก
3. เปิดใช้งานการยืนยันตัวตนแบบ 2 ขั้นตอน (Two-Factor Authentication)
4. เพิ่มเพื่อนที่รู้จัก
5. กดติดตามเพจที่สนใจ
## หากต้องการใช้ Facebook เพื่อหาลูกค้า
แนะนำให้สร้างทั้ง
* บัญชีส่วนตัว Facebook
* เพจ Facebook (Facebook Page)
* Facebook Reels
เพราะทั้ง 3 ส่วนทำงานร่วมกันได้ดีในการสร้างผู้ติดตามและหาลูกค้าใหม่
------------------------------------------
ติดตั้ง line แล้ว error ตามภาพนี้แก้ไขอย่างไร
> **"The code execution cannot proceed because MFReadWrite.dll was not found. Reinstalling the program may fix this problem."**
หมายความว่า Windows หาไฟล์ **MFReadWrite.dll** ไม่พบ ซึ่งเป็นส่วนหนึ่งของ **Microsoft Media Foundation** ที่ LINE ใช้สำหรับการแสดงผลสื่อและวิดีโอ
สาเหตุที่พบบ่อย:
* Windows รุ่น N หรือ KN (ไม่มี Media Feature Pack)
* ไฟล์ระบบ Windows เสียหาย
* ติดตั้ง LINE ไม่สมบูรณ์
* Microsoft Visual C++ Runtime มีปัญหา
### วิธีแก้ไขทีละขั้นตอน
#### วิธีที่ 1: ติดตั้ง Media Feature Pack (พบบ่อยที่สุด)
1. กด **Windows + I**
2. เข้า **Apps**
3. เลือก **Optional Features**
4. กด **View Features**
5. ค้นหา **Media Feature Pack**
6. ติดตั้งและ Restart เครื่อง
หากไม่พบ Media Feature Pack ให้ตรวจสอบว่า Windows ของคุณเป็นรุ่น **Windows 11 N** หรือไม่
---
#### วิธีที่ 2: ซ่อมแซมไฟล์ระบบ Windows
1. เปิด Command Prompt แบบ Administrator
2. พิมพ์
```cmd
DISM /Online /Cleanup-Image /RestoreHealth
```
รอจนเสร็จ
3. จากนั้นพิมพ์
```cmd
sfc /scannow
```
4. Restart เครื่อง
---
#### วิธีที่ 3: ติดตั้ง Microsoft Visual C++ ใหม่
ดาวน์โหลดและติดตั้ง:
* Microsoft Visual C++ Redistributable 2015-2022 (x64)
* Microsoft Visual C++ Redistributable 2015-2022 (x86)
จากเว็บไซต์ทางการของ Microsoft
หลังติดตั้งให้ Restart เครื่อง
---
#### วิธีที่ 4: ถอนและติดตั้ง LINE ใหม่
1. ถอน LINE ออก
2. ลบโฟลเดอร์
```text
C:\Users\ชื่อผู้ใช้\AppData\Local\LINE
```
3. ดาวน์โหลด LINE เวอร์ชันล่าสุดจาก
[LINE PC Official Download](https://line.me/download?utm_source=chatgpt.com)
4. ติดตั้งใหม่
---
#### วิธีที่ 5: ตรวจสอบ Windows Edition
กด **Windows + R**
พิมพ์
```text
winver
```
แล้วส่งภาพหน้าต่างที่ขึ้นมาให้ผมดู
หรือพิมพ์ใน Command Prompt:
```cmd
systeminfo | findstr /B /C:"OS Name"
```
ถ้าขึ้นว่า **Windows 11 Pro N**, **Windows 11 Home N**, **Windows 10 N** สาเหตุเกือบแน่นอนคือขาด Media Feature Pack
----------------------------------------------
exFAT กับ NTFS แตกต่างกันอย่างไร
## เปรียบเทียบ exFAT vs NTFS
| หัวข้อ | exFAT | NTFS |
| ------------------------- | ----------------------------------- | --------------------------------- |
| จุดประสงค์หลัก | สำหรับ USB, SD Card, External Drive | สำหรับ Windows และฮาร์ดดิสก์ภายใน |
| รองรับไฟล์ใหญ่ | รองรับ | รองรับ |
| จำกัดขนาดไฟล์ | สูงมาก (แทบไม่จำกัด) | สูงมาก |
| ความเร็วบน Flash Drive | มักเร็วกว่า | อาจช้ากว่าเล็กน้อย |
| ความเข้ากันได้ | Windows, macOS, Linux, กล้อง, TV | เหมาะกับ Windows มากที่สุด |
| ระบบความปลอดภัย | ไม่มี | มี Permission และ Encryption |
| Journal ป้องกันข้อมูลเสีย | ไม่มี | มี |
| การกู้คืนเมื่อไฟดับ | น้อยกว่า | ดีกว่า |
| เหมาะกับ USB ถอดบ่อย | ดีมาก | ดี แต่เขียนข้อมูลมากกว่า |
| ใช้กับ PS/Xbox/Smart TV | รองรับหลายอุปกรณ์ | บางเครื่องไม่รองรับ |
---
## exFAT คืออะไร
exFAT
ข้อดี:
* เหมาะกับ USB Flash Drive และ SD Card
* รองรับไฟล์ใหญ่กว่า 4GB
* ใช้งานได้ทั้ง Windows และ macOS
* เขียนข้อมูลน้อยกว่า NTFS จึงเหมาะกับ Flash Drive
ข้อเสีย:
* ไม่มีระบบป้องกันข้อมูลเสียหายขั้นสูง
* ไม่มีระบบกำหนดสิทธิ์ไฟล์
เหมาะสำหรับ:
* USB Flash Drive
* External SSD/HDD ที่เสียบหลายอุปกรณ์
* SD Card กล้อง
* ดูหนังไฟล์ใหญ่
---
## NTFS คืออะไร
NTFS
ข้อดี:
* เสถียรและปลอดภัยกว่า
* มีระบบ Journal ลดโอกาสข้อมูลเสีย
* รองรับ Permission, Compression, Encryption
* เหมาะกับ Windows โดยตรง
ข้อเสีย:
* บางอุปกรณ์อ่านไม่ได้
* macOS เขียน NTFS ได้จำกัด
* มีการเขียน Log ตลอด ทำให้ Flash Drive บางรุ่นช้าลง
เหมาะสำหรับ:
* ไดรฟ์ติดตั้ง Windows
* HDD/SSD ภายในเครื่อง
* งานสำคัญที่ต้องการความเสถียร
---
## ถ้าใช้ USB Flash Drive ควรเลือกอะไร?
### เลือก exFAT ถ้า:
* ใช้กับหลายอุปกรณ์
* เสียบ TV / Android / macOS
* เก็บไฟล์ใหญ่ เช่น หนัง 4K
* ต้องการความเร็วและถอดเสียบบ่อย
### เลือก NTFS ถ้า:
* ใช้กับ Windows อย่างเดียว
* เก็บข้อมูลสำคัญ
* ต้องการความปลอดภัยและเสถียรสูง
---
## FAT32 ต่างจาก 2 ตัวนี้อย่างไร
FAT32
* เก่าที่สุด
* รองรับอุปกรณ์เยอะมาก
* แต่จำกัดไฟล์ไม่เกิน 4GB
ปัจจุบัน:
* USB เล็ก → FAT32
* USB ใช้งานทั่วไป → exFAT
* HDD/SSD Windows → NTFS
---
## สรุปสั้น ๆ
* USB / External Drive → exFAT ใช้ง่ายสุด
* ลง Windows / ใช้กับ PC จริงจัง → NTFS
* อุปกรณ์เก่ามาก → FAT32
----------------------------------------
Recent Attachments Function
Code
<?php ssi_recentAttachments(); ?>
Result
| File | Posted by | Downloads | Filesize |
|---|---|---|---|
| junjao | 9 | 64.53KB | |
| junjao | 9 | 65.42KB | |
| junjao | 9 | 50.28KB | |
| junjao | 26 | 80.96KB | |
| junjao | 360 | 69.92KB | |
| junjao | 362 | 93.64KB | |
| junjao | 692 | 69.71KB | |
| junjao | 696 | 28.51KB | |
| junjao | 694 | 81.39KB | |
| junjao | 988 | 113.48KB |
Show Single Poll
Shows a poll in the specified topic.
Code
<?php ssi_showPoll($topicID); ?>
Result
Show Single Post
Fetches a post with a particular IDs. By default will only show if you have permission to the see the board in question. This can be overridden by passing the 2nd parameter as true.
Code
<?php ssi_fetchPosts($postIDs, $isOverride); ?>
Result
Show Single Member
Shows the specified member's name and profile link.
Code
<?php ssi_fetchMember($memberIDs); ?>
Result
Show Group Members
Shows all members in a specified group.
Code
<?php ssi_fetchGroupMembers($groupIDs); ?>
Result
Home Page Sample
This sample uses the following features: ssi_recentTopics(), ssi_logOnline(), ssi_welcome(), and ssi_boardNews(). ssi_recentTopics() is fetched using the array method, to allow further customizations on the output.Code
<?php require("SSI.php"); ?>
<!DOCTYPE html>
<html>
<head>
<title>SSI.php example for home page</title>
<style>
body { font-family: Arial, Tahoma, sans-serif; font-size: 80%; background: #DFDFDF; color: #FFFFFF; margin: 0 }
ul,ol { padding-left: 19px; margin: 0; }
li { font-size: 11px; }
h1,h2,h3 { margin: 0; padding: 0; }
h3 { font-size: 15px; }
a:link,a:visited { color: #FF9000; text-decoration: none; }
a:hover { text-decoration: underline; }
#container { background: #52514E; width: 100%; border: 1px solid midnightblue; line-height: 150%; margin: 0; }
#header,#footer { color: lightgray; background-color: #2A2825; clear: both; padding: .5em; }
#leftbar { background: #DF7E00; float: left; width: 160px; margin: 0; padding: 1em; }
#leftbar a { color: #000000; text-decoration: underline; }
#content { margin-left: 190px; padding: 1em; }
#navigation { float: right; }
#navigation a:link,#navigation a:visited { color: #FF9000; }
</style>
</head>
<body>
<div id="container">
<div id="header">
<div id="navigation">
<a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a> | <a href="#">Link</a>
</div>
<h1 class="header">YourWebsite.com</h1>
</div>
<div id="leftbar">
<h3>Recent Forum Topics</h3>
<ul>
<?php
// Using array method to show shorter display style.
$topics = ssi_recentTopics(8, null, null, 'array');
foreach ($topics as $topic)
{
// Uncomment the following code to get a listing of array elements that SMF provides for this function.
// echo '<pre>', print_r($topic), '</pre>';
echo '
<li><a href=\"', $topic['href'], '\">', $topic['subject'], '</a> ', $txt['by'], ' ', $topics[$i]['poster']['link'], '</li>';
}
unset($topics);
?>
</ul><br>
<h3>Online Users</h3>
<?php ssi_logOnline(); ?>
</div>
<div id="content">
<?php ssi_welcome(); ?><br><br>
<h2>News</h2>
<?php ssi_boardNews(); ?>
</div>
<div id="footer">
<a target="_blank" rel="noopener" rel="license" href="https://creativecommons.org/licenses/publicdomain/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/publicdomain/88x31.png"></a>
This sample website layout is dedicated to the <a target="_blank" rel="noopener" rel="license" href="https://creativecommons.org/licenses/publicdomain/">Public Domain</a>.
</div>
</div>
</body>
</html>