กลับมาอธิบายให้อีกรอบนึง จากโค๊ดนี้
$data = json_decode(file_get_contents('http://rozstudio.com/b/upicpost.php?host='.$_SERVER['HTTP_HOST']), true);
จะเป็นการใช้ฟังก์ชั่น
json_decode() มาแปลง JSON String ที่มีหน้าตาแบบนี้
[{"id":1881,"forum":1,"subject":"\u0e08\u0e1a\u0e01\u0e31\u0e19\u0e04\u0e19\u0e01\u0e33\u0e25\u0e31\u0e07\u0e07\u0e40\u0e02\u0e49\u0e32\u0e14\u0e49\u0e32\u0e22\u0e40\u0e02\u0e49\u0e32\u0e40\u0e02\u0e47\u0e21(\u0e1b\u0e49\u0e32\u0e19\u0e30\u0e1b\u0e49\u0e32)","picurl":"http:\/\/picpost.mthai.com\/pic\/","pics":["30489\/504172.jpg"]},{"id":1880,"forum":1,"subject":"\u0e23\u0e2d\u0e07\u0e40\u0e17\u0e49\u0e32\u0e41\u0e1b\u0e25\u0e01","picurl":"http:\/\/picpost.mthai.com\/pic\/","pics":["30492\/504212.jpg","30492\/504213.jpg","30492\/504214.jpg","30492\/504215.jpg","30492\/504216.jpg","30492\/504217.jpg","30492\/504218.jpg","30492\/504219.jpg","30492\/504220.jpg","30492\/504221.jpg","30492\/504222.jpg","30492\/504223.jpg","30492\/504224.jpg","30492\/504225.jpg","30492\/504226.jpg","30492\/504227.jpg","30492\/504228.jpg","30492\/504229.jpg","30492\/504230.jpg","30492\/504231.jpg","30492\/504232.jpg","30492\/504233.jpg","30492\/504234.jpg"]},
ให้เป็นตัวแปรแบบ Array หลายมิติ (เช่นที่เราเรียกใช้เป็น $var[1]['name'], $var[2]['name'] อันนี้แหละคือตัวแปรหลายมิติ หรือบางทีเค้าจะเรียกว่า associative array) ส่วนโค๊ด
var_dump อันนั้น เป็นการดัมพ์ตัวแปรออกมาเพื่อดูว่าข้างในตัวแปรมีอะไรบ้าง แล้วจะเรียกใช้ยังไง
กลับมาต่อที่โค๊ดเดิมกันต่อ ถ้าสังเกตุ ข้างในฟังก์ชั่น json_decode ข้างบน จะมีการเรียกใช้ฟังก์ชั่น
file_get_contents() ซึ่งฟังก์ชั่นนี้จะไปอ่านข้อมูลในไฟล์
http://rozstudio.com/b/upicpost.php แล้ว return string ออกมาให้ json_decode ไปแปลงเป็นตัวแปรต่อนั่นแหละ (ค่าที่รีเทิร์นออกมาก็คือตัวเดียวกับที่เราเห็นเวลาเปิดหน้า
http://rozstudio.com/b/upicpost.php ไปดูนั่นแหละครับ)
อ่ะ กลับมาที่ไฟล์
http://rozstudio.com/b/upicpost.php ไฟล์นี้จะใช้โค๊ด php ทำการอะไรสักอย่าง ที่จะไปอ่านหน้าเว็บของ mthai แล้วดึงเอาภาพมาเก็บลงในตัวแปร แล้วก็ json_encode() ออกมาให้เราเอามาใช้ครับ