Top Banner
คำนำ จุดประสงค ในการทาหนังสือเล มนี้คือ ต องการให มีฐานข อมูลเกี่ยวกับ php ที่เป็น ภาษาไทยเพื ่อแจกจ ายเป็นวิทยาทานแก ผู ที่สนใจคับ ปัญหามันมาจากการที่ หลายๆ คน มักจะแอนตี้อะไรที่เป็นภาษาอังกฤษ ขึ ้นมาแล ว ขึ ้นชื ่อว าเป็นภาษาอังกฤษขึ ้นมาแล การศึกษาจะใช เวลานานกว า การศึกษาอะไรที่เป็นภาษาอังกฤษ ย อมใช เวลานานหลายเท กว าที่เป็นภาษาไทย และอีกประการหนึ ่งคือ มีความสามารถของ php ที่เราไม รู อยู เป็นจานวนมาก แต วย ความเป็นภาษาอังกฤษนั้น การจะศึกษาทั้งหมด ก็ต องใช เวลานาน ผู เขียนจึงเห็นว าการนา ทาเป็นภาษาไทย จะช วยทาให มือใหม สามารถเริ่มต นได เร็วขึ ้น เมื ่อมองเห็นภาพรวมของ ระบบแล ว ก็สามารถใช เครื ่องมือได อย างเต็มประสิทธิภาพ จานวนฟังก ชันที่นามาเขียนอธิบายในเล มนี้ ไม ได นามาทั้งหมดเลย แต หนังสือนี้เป็น หนังสือเกี่ยวกับ software ก็จะมีลักษณะเหมือนกันคือจะพัฒนาไปเรื ่อยๆ อย างที่เราเห็นที่ หน าปกที่เชียนว า beta ก็คือหนังสือเล มนี้ เหมือนกับโปรแกรมที่ทาหน าที่ของมันได แต หน าตายังไม สวย มีฟีเจอร ที่ต องทาอีกเพียบ แต แกนหลักใช ได แล มีข อติชมหรือแนะนาอะไร ติดต อผู จัดทาได ที่ [email protected]
247

office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

Jul 12, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

ค ำน ำ จดประสงคในการท าหนงสอเลมนคอ ตองการใหมฐานขอมลเกยวกบ php ทเปน

ภาษาไทยเพอแจกจายเปนวทยาทานแก ผทสนใจคบ ปญหามนมาจากการท หลายๆ คนมกจะแอนตอะไรทเปนภาษาองกฤษ ขนมาแลว ขนชอวาเปนภาษาองกฤษขนมาแลว การศกษาจะใชเวลานานกวา การศกษาอะไรทเปนภาษาองกฤษ ยอมใชเวลานานหลายเทากวาทเปนภาษาไทย

และอกประการหนงคอ มความสามารถของ php ทเราไมรอยเปนจ านวนมาก แตดวยความเปนภาษาองกฤษนน การจะศกษาทงหมด กตองใชเวลานาน ผเขยนจงเหนวาการน าท าเปนภาษาไทย จะชวยท าใหมอใหมสามารถเรมตนไดเรวขน เมอมองเหนภาพรวมของระบบแลว กสามารถใชเครองมอไดอยางเตมประสทธภาพ

จ านวนฟงกชนทน ามาเขยนอธบายในเลมน ไมไดน ามาทงหมดเลย แตหนงสอนเปนหนงสอเกยวกบ software กจะมลกษณะเหมอนกนคอจะพฒนาไปเรอยๆ อยางทเราเหนทหนาปกทเชยนวา beta กคอหนงสอเลมน เหมอนกบโปรแกรมทท าหนาทของมนได แตหนาตายงไมสวย มฟเจอรทตองท าอกเพยบ แตแกนหลกใชไดแลว

มขอตชมหรอแนะน าอะไร ตดตอผจดท าไดท

[email protected]

Page 2: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

Roadmap 1. เพมค าอธบาย พารามเตอร 2. เพมตวอยางการใชงานกบพารามเตอรตวแรก

3. เพมตวอยางการใชงานกบพารามเตอรตวทสอง 4. เพมตวอยางการใชงานกบพารามเตอรตวทสาม

5. เพม change log

6. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 1

7. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 2

8. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 3

9. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 4

10. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 5

11. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 6

12. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 7

13. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 8

14. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 9

15. เพมตวอยางท พารามเตอรหลายรปแบบ ครงท 10

16. เพมตวอยางทใชงานรวมกบฟงกชนในคลาส เดยวกน ครงท 1

17. เพมตวอยางทใชงานรวมกบฟงกชนในคลาส เดยวกน ครงท 2

18. เพมตวอยางทใชงานรวมกบฟงกชนในคลาส เดยวกน ครงท 3

19. เพมตวอยางทใชงานรวมกบฟงกชนในคลาส เดยวกน ครงท 4

20. เพมตวอยางทใชงานรวมกบฟงกชนในคลาส เดยวกน ครงท 5

21. เพมตวอยางทใชงานรวมกบฟงกชนในคลาส เดยวกน ครงท 6

22. เพมตวอยางทใชงานรวมกบฟงกชนในคลาสอนๆ ครงท 1

23. เพมตวอยางทใชงานรวมกบฟงกชนในคลาสอนๆ ครงท 2

24. เพมตวอยางทใชงานรวมกบฟงกชนในคลาสอนๆ ครงท 3

25. เพมตวอยางทใชงานรวมกบฟงกชนในคลาสอนๆ ครงท 4

26. เพมตวอยางทใชงานรวมกบฟงกชนในคลาสอนๆ ครงท 5

Page 3: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

สารบญ

apache_response_headers เรยกดขอมลของค าตอบกลบ .......................................................... 1

apache_lookup_uri สรางการเรยกใชงาน url .......................................................................... 1

apache_get_modules ดงรายชอของโมดลทใชงานอย .................................................................. 2

apache_getenv ดงขอมลตางๆ ของ Apache ............................................................................. 3

array sort - เรยงล าดบอาเรยมตเดยว ..................................................................................... 5

array shuffle - สลบทอยของสมาชกในอาเรย โดยการสม .......................................................... 5

array range สรางอาเรยขนตามเงอนไขทก าหนด ......................................................................... 6

array natsort เรยงล าดบคาอาเรยโดยใช natural order algorithm ................................... 7

php array key – ใชดงคาดงคา key ออกจากอาเรย .................................................................. 8

array_search - คนหาคยทตองการ ......................................................................................... 9

array_reverse - พลกล าดบของอาเรย .................................................................................. 10

array_reverse - พลกล าดบของอาเรย .................................................................................. 10

array_replace – เปลยนคาในอาเรยโดยระบต าแหนง ............................................................... 11

array_diff_ukey – เปรยบเทยบคา key ของอาเรยโดยใชฟงกชนเขามาจดการ ............................. 12

array_reduce ................................................................................................................... 13

array_rand - สมคาจากอาเรย .............................................................................................. 14

php array_push - เพมคาลงในอาเรยโดย เพมตอจากทาย ......................................................... 14

array_product - ใชหาผลรวมของคาทงหมดในอาเรย ............................................................... 15

array_pop - ดงคาทายสดของอาเรยออกมา .............................................................................. 16

array_pad - ขยายขนาดอาเรยและเพมคาเขาไปใหม................................................................... 16

array_multisort - เรยงล าดบคาในอาเรยดวย เงอนไขหลายๆ ตว .............................................. 17

php array_merge_recursive ........................................................................................... 19

Page 4: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

array_map - จดการคาทงหมดในอาเรยโดยใชฟงกชนเพมเตม....................................................... 20

php array merge – รวมอาเรยหลายตว ................................................................................. 21

CURLFile::__construct สรางออปเจคตจากคลาส CURL ........................................................ 24

CURLFile::getFilename ฟงกชนใชส าหรบเกบชอของไฟล ........................................................ 24

CURLFile::getMimeType ฟงกชนใชส าหรบเกบ MIME ของไฟล ................................................. 25

curl_close ยกเลกการใชงาน cURL ........................................................................................ 26

php curl_copy_handle ฟงกชนใชส าหรบโคลนออปเจคตของ Curl ........................................... 27

curl_errno ฟงกชนใชส าหรบดงจ านวนขอผดพลาดจากการใช cURL .............................................. 28

curl_error ฟงกชนใชส าหรบดงจ านวนขอผดพลาดจากการใช cURL .............................................. 29

curl_exec สงให cURL ท างาน .............................................................................................. 30

curl_escape แทนทชองวางในประโยคดวยคาทก าหนด ................................................................ 31

curl_getinfo ดงขอมลการท างานของ cURL ............................................................................ 31

curl_init สรางออปเจคตจากคลาส CURL ใหม ........................................................................ 32

curl_pause ใชส าหรบเชอมตอหรอหยดเชอมตอกบปลายทาง ........................................................ 33

curl_reset ลบขอมลการตงคาของ การเชอมตอ ทผานมา ............................................................ 34

curl_setopt ตงคาการเชอมตอ .............................................................................................. 35

curl_strerror ดงขอความบอกขอผดพลาด ............................................................................. 36

curl_unescape ยกเลกการ escape ขอมลทสงมา .................................................................... 37

curl_version ดงเวอรชนของ cURL ....................................................................................... 38

cal_info ดงขอมลระบบปฏทนทระบบใชอย ............................................................................... 40

date สรางขอมลวนเวลา .......................................................................................................... 41

DateInterval::createFromDateString สรางออปเจคตของคลาส โดยใชค า ........................... 42

DateInterval::format จดรปแบบใหกบคาวนเวลา................................................................. 43

DateTime::add เพมคาวนหรอเวลาตามทก าหนด ....................................................................... 44

Page 5: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

DateTime::createFromFormat สรางออปเจคตของวนเวลา โดยก าหนดรปแบบใหดวย .................. 45

DateTime::diff หาความแตกตางของออปเจคตของคลาส DateTime .......................................... 45

DateTime::format เปลยนรปแบบของวนเวลา ......................................................................... 46

DateTime::getLastErrors ดงคาการแจงเตอนและขอผดพลาด ................................................ 46

DateTime::getTimestamp แปลงคาวนเวลาใหอยในแบบ timestamp ....................................... 47

DateTime::getTimezone ดงชอโซนเวลาของออปเจคต DateTime ............................................ 47

DateTime::modify แกไขคาในออปเจคต DateTime ................................................................ 48

DateTime::setDate ก าหนดวนใหออปเจคต DateTime ........................................................... 49

DateTimeZone::getLocation ดงคาทอยของผใชงาน เชน ละตจด,ลองตจด ................................ 50

DateTimeZone::getName ดงคาชอของเขตเวลานน .................................................................. 50

DateTimeZone::listIdentifiers ดงรายชอเขตเวลาทงหมด ................................................. 51

date_modify ใชแกไขคาในออปเจคต DateTime ...................................................................... 52

php localtime รบขอมลวนและเวลาในรปแบบ array .............................................................. 52

microtime แสดงวนเวลาปจจบนแบบ ไมโครวนาท ....................................................................... 53

mktime สรางขอมลของวนเวลาตามทระบไว ................................................................................. 53

time แสดงขอมลของวนเวลาปจจบน .......................................................................................... 54

strtotime รบคาเวลาของวนเวลาตาม string ทใสมาเปนพารามเตอร .......................................... 55

chdir เลอกโฟลเดอรใหม ........................................................................................................ 57

chmod ตงสทธในการจดการไฟล ................................................................................................ 57

dir สรางออปเจคตของคลาส Directory .................................................................................. 58

DirectoryIterator::getExtension ดงนามสกลของไฟล .................................................... 59

DirectoryIterator::getFilename ดงชอของไฟล .............................................................. 60

DirectoryIterator::getMTime แสดงเวลาทมการแกไข แตละไฟลท path ปจจบน .................... 61

DirectoryIterator::getOwner แสดงเจาของ path ปจจบน ................................................ 62

Page 6: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

DirectoryIterator::isReadable ตรวจวาไฟลสามารถอานไดหรอไม...................................... 68

DirectoryIterator::isWritable ตรวจวาไฟลสามารถเขยนไดหรอไม .................................... 69

DirectoryIterator::key ดงล าดบไฟล ............................................................................... 70

DirectoryIterator::next เลอนพอยเตอรไปยงไฟลถดไป ...................................................... 71

DirectoryIterator::rewind เลอนพอยเตอรไปยงไฟลแรก .................................................... 72

DirectoryIterator::seek เลอนพอยเตอรไปยงไฟลทก าหนด .................................................. 73

DirectoryIterator::valid ใชตรวจวาตอนนพอยเตอรชอยทไฟล ............................................ 73

disk_total_space ดงคาขนาดของไดร .................................................................................. 74

filesize ดงขอมลขนาดของไฟล ............................................................................................. 75

fileperms ดงคาสทธในการแกไขไฟลนน ................................................................................... 76

fputcsv จดขอมลใหอยในแบบ csv แลวเขยนลงไฟล .................................................................. 80

is_dir ตรวจวาเปนโฟลเดอรหรอไม .......................................................................................... 83

is_uploaded_file ตรวจวาเปนไฟลทผานการอพโหลดมา หรอไม? .............................................. 85

pathinfo ดงขอมลตางๆ ทเกยวกบเสนทางของไฟล ..................................................................... 86

readdir อานขอมลจากโฟลเดอร .............................................................................................. 86

realpath ดงคาเสนทางแบบเตมๆออกมา .................................................................................. 87

scandir ดงรายฃอของไฟลและโฟลเดอร .................................................................................... 88

stat ดงขอมลแบบสถตตางๆ ของไฟล ........................................................................................ 89

unlink ลบไฟล ..................................................................................................................... 89

die หยดการท างานของระบบ .................................................................................................... 92

connection_aborted ตรวจสอบวาฝงผใชงานตดการเชอมตอแลวหรอยง ....................................... 92

getenv ดงขอมลของระบบ ....................................................................................................... 93

eval ตรวจสอบวาค าทก าหนดมลกษณะเปนโคดหรอไม ................................................................... 93

exit หยดการท างานของระบบ .................................................................................................. 94

Page 7: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

extension_loaded ตรวจสอบวาสวนเสรมไดเปดใชงานไหม ........................................................ 94

getlastmod ดงวนเวลาทไดแกไขหนาในครงลาสด ....................................................................... 95

get_browser ดงขอมลของบราวเซอรทผใชงานใช ....................................................................... 95

ini_get ดงขอมลจากไฟล php.ini ........................................................................................ 96

ini_get_all ดงขอมลทงหมดจากไฟล php.ini ...................................................................... 96

ini_set เพมขอมลลงไฟล ini ................................................................................................ 97

phpinfo ดงขอมลการตงคาของ php ทงหมด ............................................................................. 98

php_uname ดงคาระบบปฏบตการท php ท างานอย...................................................................... 99

set_time_limit ก าหนดเวลาสงสดทจะใหสครปท างานได ........................................................... 99

sys_get_temp_dir ดงคาทอยของโฟลเดอรทเกบไฟล temp ..................................................... 100

version_compare เปรยบเทยบ version ของ php............................................................... 100

uniqid สรางคาทไมซากน ..................................................................................................... 102

hash สรางคาทผานการเขา รหสแบบถอดกลบไมได...................................................................... 104

hash_algos - แสดงลสรายชอของอลกอรทมทใชในการเขารหส .................................................. 104

password_verify ฟงกชนใชส าหรบตรวจสอบคาทปอนเขามาวาตรงกบคา hash ทเกบไวหรอไม ...... 106

mcrypt_enc_get_algorithms_name ฟงกชนใชส าหรบดงชออลกอรทมทใชเขารหส ออกมาจากตวแปร .......................................................................................................................................... 107

password_get_info ฟงกชนส าหรบดงขอมลของคา hash ........................................................ 107

password_hash ฟงกชนส าหรบสรางรหสผานดวยการ hash ....................................................... 108

random_int ฟงกชนใชส าหรบสรางเลขแบบสม ......................................................................... 109

json_decode แปลง json กลบเปนอาเรย.............................................................................. 111

json_decode แปลง json กลบเปนอาเรย.............................................................................. 111

abs สรางคาสมบรณ .............................................................................................................. 114

rand ใชสมคาทเปนตวเลข ...................................................................................................... 114

Page 8: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

floor ปดเศษทศนยมลงเปนจ านวนเตม .................................................................................... 115

getrandmax สรางการสมคาทเปนไปไดมากทสด ........................................................................ 115

pi ดงคาของพาย .................................................................................................................. 116

log หาคาลอการทม .............................................................................................................. 116

max หาคาทมากทสด ............................................................................................................. 116

mysqli_connect เปดการเชอมตอกบ mysql ......................................................................... 119

mysqli::$affected_rows ดงจ านวนของขอมลทไดรบผลจากการควร ....................................... 120

mysqli::$client_info ดงขอมลของ mysql ...................................................................... 120

mysqli::$client_version ดงเวอรชนของ mysql .............................................................. 121

mysqli::$connect_errno ดงรหสของขอผดพลาด จากการเชอมตอ ......................................... 122

mysqli::$connect_error ดงรายละเอยดของขอผดพลาด จากการเชอมตอ ................................ 122

mysqli::$errno ดงรหสของขอผดพลาด จากการควร .............................................................. 123

mysqli::$errno ดงรหสของขอผดพลาด จากการควร .............................................................. 124

mysqli::$error_list ดงขอมลทงหมดทเกยวกบขอผดพลาด .................................................. 124

mysqli::$host_info ดงขอมลของเครองทใชงานค าสง เชน localhost หรอ unix ................... 125

mysqli::$info ดงขอมลเกยวกบการควรครงลาสด .................................................................. 126

mysqli::$insert_id ดงไอดของขอมลทบนทกในครงลาสด ..................................................... 126

mysqli::$protocol_version ดงขอมลเวอรชนของโปรโตคอลท mysql ใช ............................. 127

mysqli::$server_info ดงขอมลเวอรชนของ mysql server ในรปแบบของตวอกษร ............... 128

mysqli::$server_version ดงขอมลเวอรชนของ mysql server ในรปแบบของตวเลข ............ 128

mysqli::$sqlstate ดงขอผดพลาดของ mysql .................................................................... 129

mysqli::$thread_id ดงคาไอดของโปรแกรมทสรางการเชอมตอในขณะนน ................................. 130

mysqli::$warning_count ดงจ านวนการแจงเตอนของควรลาสด .............................................. 131

mysqli::change_user เปลยนบญชทใชจดการฐานขอมล ........................................................ 132

Page 9: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

mysqli::character_set_name เปลยนรปแบบของ unicode ............................................... 133

mysqli::close ปดการเชอมตอกบฐานขอมล .......................................................................... 133

mysqli::dump_debug_info สงประวตการท างานออกเปนไฟล ................................................. 136

mysqli::get_charset ดงขอมลรปแบบตวอกษรทใช.............................................................. 138

mysqli::get_client_info ดงขอมลเวอรชนของ mysql client ในแบบของตวอกษร ............. 138

mysqli::get_connection_stats ดงขอมลประวตการใชงานฐานขอมล ................................... 139

mysqli::kill หยดการท างานของ mysql ............................................................................. 140

mysqli::ping ทดสอบสถานะการท างานของ mysql ................................................................ 141

mysqli::prepare จดเตรยมค าสงทจะใชควร .......................................................................... 142

mysqli::query ท าการควรขอมล ......................................................................................... 143

mysqli::real_connect เปดการเชอมตอกบ mysql.............................................................. 144

mysqli::real_escape_string ลบอกขระตองหามจากเงอนไขทจะใชควร ................................. 145

mysqli::real_query ท าการควรขอมล ............................................................................... 147

mysqli::rollback ยอนการท างานของทรานแซคชน ............................................................... 148

mysqli::select_db เลอกฐานขอมลทจะใช ........................................................................... 149

mysqli::set_charset ตงคารปแบบตวอกษร ....................................................................... 150

stat ดงขอมลแบบสถตตางๆ ของไฟล ...................................................................................... 151

php base64_decode ถอดรหส base64 ............................................................................... 154

base64_encode เขารหสดวย base64 ................................................................................... 154

dns_get_record ดงขอมลของโดเมน .................................................................................... 155

gethostbyname ดง ip ของโดเมน ....................................................................................... 155

getprotobyname-ดงคา port ทโปรโตคอลนนใช ................................................................... 156

get_headers ดงขอมลของค ารองขอ ...................................................................................... 156

get_meta_tags-ดงขอมลในสวนของแทก meta ของหนาเวบ ..................................................... 157

Page 10: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

header สรางขอมลในสวนของ http header .......................................................................... 158

headers_sent ตรวจสอบวาไดสงคา header ไปหรอยง ........................................................... 159

http_build_query สรางควรสตรง ...................................................................................... 160

http_response_code ดงหรอตงคาค าตอบกลบจากเซรฟเวอร ................................................... 160

ob_clean ลบคา output buffer ....................................................................................... 161

ob_end_clean ลบคา output buffer และปดการใชงาน ...................................................... 161

parse_url ตดแบง url ออกเปนอาเรย ................................................................................. 162

rawurlencode เขารหส url ตามทก าหนด ............................................................................ 163

syslog สรางประวตการท างาน ............................................................................................... 164

setcookie สง cookie ไปใหผใชงาน ................................................................................... 165

urldecode ถอดรหสใหกบควรสตรง ....................................................................................... 166

PDO::__construct การสรางออปเจคตเพอเตรยมการควร ......................................................... 169

PDO::beginTransaction เปดการใชงานทรานแซคชน ............................................................ 169

PDO::commit ใชส าหรบปลอยใหผลการท างานของทรานแซคชน ถกบนทก ...................................... 170

PDO::errorCode ดงรหสของขอผดพลาด ............................................................................... 172

PDO::errorInfo ดงขอมลเกยวกบขอผดพลาดทงหมด .............................................................. 172

PDO::getAvailableDrivers ดงรายชอ ฐานขอมลท PDO สนบสนน ........................................ 173

inTransaction คอ ฟงกชนทใช ตรวจสอบวาตอนนมการใชงานทรานแซคชนอยหรอไม .................... 174

PDO::lastInsertId ดงคาไอดของขอมลตวสดทายทไดบนทกไปในครงลาสด ............................... 174

mysqli::prepare จดเตรยมค าสงทจะใชควร .......................................................................... 175

PDO::query เรมการดงขอมลจากฐานขอมล ............................................................................. 176

PDO::quote กรองขอมลทจะบนทก......................................................................................... 177

PDO::quote กรองขอมลทจะบนทก......................................................................................... 178

PDO::rollBack ยกเลกการท าทรานแซคชน ............................................................................ 178

Page 11: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

PDOStatement::bindColumn จดการขอมลในคอลมนโดยการผกเขาไปกบตวแปร ........................ 180

bindParam จดการขอมลในคอลมนโดยการผกเขาไปกบพารามเตอร แบบอางองหนวยความจ าในขณะนน 181

PDOStatement::bindValue จดการขอมลในคอลมนโดยการผกเขาไปกบคาตายตว ...................... 182

preg_replace ใชงาน regular expression ในการคนหาและแกไข ...................................... 185

preg_match_all ใชงาน regular expression ในการคนหา โดยคนหาจนเจอทตรงหมดทกตว... 185

preg_replace ใชงาน regular expression ในการคนหาและแกไข ...................................... 186

preg_split แบงขอความออกโดยใช regeular expression ................................................ 187

str_shuffle สลบต าแหนงของตวอกษรในค า .......................................................................... 190

strtolower แปลงตวพมพใหญใหเปนตวพมพเลก ..................................................................... 190

strtoupper ใชส าหรบแปลงตวพมพเลกใหเปนตวพมพใหญ ........................................................ 191

str_repeat สรางค าทก าหนดตามจ านวนทก าหนด .................................................................... 191

str_split แปลงค าใหเปนอาเรย ........................................................................................... 192

substr แยกค าในประโยคออกมาตามทก าหนด .......................................................................... 193

wordwrap ตดค าเพอขนหนาใหม ............................................................................................ 193

md5 สรางคาแฮชแบบ md5 ...................................................................................................... 194

ucwords เปลยนค าแรกในประโยคใหเปนตวใหญ ........................................................................ 195

trim ลบชองวางในค าหรอประโยค ........................................................................................... 195

htmlspecialchars ใชแสดงตวอกขระทลกษณะเปนโคด ........................................................... 196

htmlentities ใชแสดงตวอกขระทลกษณะเปนโคด โดยไมตองแปลความหมาย ............................... 197

hex2bin แปลงเลขฐานสบหกเปนตวอกษร................................................................................. 197

explode แยกตวอกษรออกตามเงอนไขทก าหนด ......................................................................... 198

ctype_upper ตรวจสอบวาประโยคนนม เฉพาะตวพมพใหญ เทานนหรอไม ..................................... 198

str_word_count นบจ านวนค าในประโยค .............................................................................. 199

ctype_lower ตรวจสอบวาประโยคนนม เฉพาะตวพมพเลก เทานนหรอไม ....................................... 200

Page 12: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

ctype_digit ตรวจสอบวาประโยคนนม เฉพาะตวเลข เทานนหรอไม ....................................................... 201

ctype_alpha ตรวจสอบวาประโยคนนเปนตวอกษร เทานนหรอไม ......................................................... 202

htmlspecialchars_decode ถอดรหสตวอกขระทถกแปลงโดย htmlspecialchars ................. 202

implode แปลงอาเรยใหกลายเปนตวอกษร ................................................................................ 203

lcfirst แปลงใหตวอกษรตวแรกของค ากลายเปนตวพมพเลก ....................................................... 204

md5 สรางคาแฮชแบบ md5 ...................................................................................................... 204

php md5_file สรางคาแฮชแบบ md5 โดยใชไฟล .................................................................... 205

money_format ปรบแตงใหตวเลขใหอยในรปแบบเงน ................................................................ 205

nl2br ชวยเพมแทก br แทนค าสงขนบรรทดใหมเดม .................................................................. 206

number_format จดรปแบบใหตวเลข เชน ใสลกนา ................................................................... 207

ctype_alpha ตรวจสอบวาประโยคนนเปนตวอกษร เทานนหรอไม ................................................. 207

strcasecmp เปรยบเทยบขอความหรอประโยค .......................................................................... 208

stripslashes ลบเครองหมายแบคสแลชออกจากประโยค .......................................................... 209

strpos หาต าแหนงของตวอกษร ตวแรก ................................................................................... 209

ctype_digit ตรวจสอบวาประโยคนนม เฉพาะตวเลข เทานนหรอไม ............................................. 210

strip_tags ใชลบค าทมลกษณะเปนโคด html หรอ php ออกจากประโยค .................................. 211

strlen นบจ านวนของค ารวมทงชองวางดวย .............................................................................. 211

ctype_xdigit ตรวจสอบวาประโยคนนม เฉพาะเลขฐานสบหก เทานนหรอไม .................................. 212

addslashes ใสเครองหมาย back slash ขางหนา predefined characters ....................... 212

chunk_split ตดตวอกษรทรวมเปนประโยคออกเปนสวนๆ .......................................................... 213

strstr ใชหาสตรงจากจดเรมตนทก าหนด ................................................................................. 214

parse_url ตดแบง url ออกเปนอาเรย ................................................................................. 215

sha1 สรางคาแฮชจากอลกอรทม sha1 ..................................................................................... 215

sha1_file สรางคาแฮชจากอลกอรทม sha1 โดยใชไฟล ........................................................... 216

Page 13: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

ZipArchive::getNameIndex ฟงกชนส าหรบดงชอของไฟลทอยในไฟลซป โดยก าหนดดวยล าดบ ..... 218

ZipArchive::addFile ใชส าหรบเพมไฟล ลงไฟลซป .............................................................. 219

ZipArchive::addFromString เพมไฟลลงไปในไฟลซปโดยสรางจากตวอกษร ............................. 220

ZipArchive::deleteIndex ฟงกชนส าหรบลบไฟลทอยในไฟลซปโดยใชล าดบ ............................ 221

ZipArchive::deleteName ฟงกชนส าหรบลบไฟลทอยในไฟลซปโดยใชชอ .................................. 222

ZipArchive::extractTo ฟงกชนส าหรบแตกไฟลซป ............................................................. 224

ZipArchive::getArchiveComment ฟงกชนส าหรบดงคอมเมนของไฟลทงหมดทอยในไฟลซป ....... 225

ZipArchive::getNameIndex ฟงกชนส าหรบดงชอของไฟลทอยในไฟลซป โดยก าหนดดวยล าดบ ..... 226

php ZipArchive::locateName ฟงกชนส าหรบดงล าดบของไฟลทอยในไฟลซป .......................... 228

php ZipArchive::open ฟงกชนส าหรบเปดไฟลซป ................................................................ 229

ZipArchive::renameName ฟงกชนส าหรบเปลยนชอไฟลทอยในไฟลซป โดยก าหนดดวยชอ ............ 230

ZipArchive::setArchiveComment ฟงกชนส าหรบเพมคอมเมนใหไฟลซป ............................... 231

ZipArchive::statName ฟงกชนส าหรบดงขอมลของไฟลทอยในไฟลซป โดยก าหนดดวยชอ ............ 233

Page 14: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ
Page 15: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

1

Apache_response_headers เรยกดขอมลของค าตอบกลบ

ตวอยาง

<?php var_dump(apache_response_headers()); ?>

ผลลพท

apache_lookup_uri สรางการเรยกใชงาน url

ตวอยาง

<?php $info = apache_lookup_uri(‘index.php?var=value’); var_dump($info); ?>

ผลลพท

Page 16: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

2

apache_get_modules ดงรายชอของโมดลทใชงานอย

ตวอยาง

<?php var_dump(apache_get_modules()); ?>

ผลลพท

Page 17: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

3

apache_getenv ดงขอมลตางๆ ของ Apache

ตวอยาง

<?php

$ret = apache_getenv("SERVER_ADDR");

echo $ret;

?>

ผลลพท

Page 18: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

4

Page 19: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

5

array sort - เรยงล าดบอาเรยมตเดยว

ค าสงนใชเรยงล าดบคาในอาเรยมตเดยว

ตวอยางท 1 การใชงานเบองตน

<?php

$fruits = array("lemon", "orange", "banana", "apple");

sort($fruits);

foreach ($fruits as $key => $val) {

echo "fruits[" . $key . "] = " . $val . "<br>";

}

?>

ผลลพท

array shuffle - สลบทอยของสมาชกในอาเรย โดยการสม ฟงกชนนใช สลบทอยของสมาชกในอาเรย โดยการสม

ตวอยางท 1 การใชงานเบองตน

<?php $numbers = range(1, 20); shuffle($numbers);

Page 20: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

6

foreach ($numbers as $number) { echo “$number “; } ?>

ผลลพท

array range สรางอาเรยขนตามเงอนไขทก าหนด ค าสงนใชส าหรบ สรางอาเรยขนตามเงอนไขทก าหนด โดยมพารามเตอรดงน

1. คาเรมตน 2. คาสนสด 3. จ านวนขนในการเพม

ตวอยางท 1 การใชงานเบองตน

<?php foreach (range(0, 12) as $number) { echo $number; } echo “<br>”; // การเพมทละขน foreach (range(0, 100, 10) as $number) { echo $number; } echo “<br>”; // การใชตวอกษร foreach (range(‘a’, ‘i’) as $letter) { echo $letter;

Page 21: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

7

} ?>

ผลลพท

array natsort เรยงล าดบคาอาเรยโดยใช natural order algorithm

ตวอยางท 1 การใชงานเบองตน

<?php $array1 = $array2 = array(“img12.png”, “img10.png”, “img2.png”, “img1.png”); asort($array1); echo “ sort แบบธรรมดาn”; var_dump($array1); natsort($array2); echo “Natural order sortingn”; var_dump($array2); ?>

ผลลพท

Page 22: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

8

php array key – ใชดงคาดงคา key ออกจากอาเรย ค าสงนใชใชดงคาดงคา key ออกจากอาเรย โดยใชงานรวมกบ ค าสงทใชจดการ pointer เชน current ,next

ตวอยางท 1 การใชงานเบองตน

<?php $array = array( ‘fruit1’ => ‘apple’, ‘fruit2’ => ‘orange’, ‘fruit3’ => ‘grape’, ‘fruit4’ => ‘apple’, ‘fruit5’ => ‘apple’); while ($fruit_name = current($array)) { if ($fruit_name == ‘apple’) { echo key($array).’<br />’; } next($array); } ?>

ผลลพท

Page 23: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

9

array_search - คนหาคยทตองการ คอ ฟงกชนทใชคนหาคยทเราตองการ

ตวอยางท 1 การใชงานเบองตน

<?php $array = array(0 => ‘blue’, 1 => ‘red’, 2 => ‘green’, 3 => ‘red’); echo array_search(‘green’, $array); ?>

ผลลพท

Page 24: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

10

array_reverse - พลกล าดบของอาเรย

ฟงกชนนใชเรยงล าดบของอาเรยใหม

ตวอยาง

<?php $input = array(“php”,”green”, “red”); $reversed = array_reverse($input); $preserved = array_reverse($input, true); var_dump($reversed); ?>

ผลลพท

array_reverse - พลกล าดบของอาเรย

ฟงกชนนใชเรยงล าดบของอาเรยใหม

ตวอยาง

<?php $input = array(“php”,”green”, “red”); $reversed = array_reverse($input); $preserved = array_reverse($input, true); var_dump($reversed); ?>

Page 25: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

11

ผลลพท

array_replace – เปลยนคาในอาเรยโดยระบต าแหนง ฟงกชนนใชส าหรบเปลยนคา ในอาเรยโดยระบต าแหนง

ตวอยางท 1 การใชงานเบองตน

<?php $base = array(“orange”, “banana”, “apple”, “raspberry”); $replacements = array(0 => “pineapple”, 4 => “cherry”); $basket = array_replace($base, $replacements); var_dump($basket); ?>

ผลลพท

Page 26: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

12

array_diff_ukey – เปรยบเทยบคา key ของอาเรยโดยใชฟงกชนเขามาจดการ

ฟงกชนนใช เปรยบเทยบคา key ของอาเรยโดยใชฟงกชนเขามาจดการ

ตวอยางท 1 การใชงานเบองตน

<?php function key_compare_func($key1, $key2) { if ($key1 == $key2) return 0; else if ($key1 > $key2) return 1; else return -1; } $array1 = array(‘blue’ => 1, ‘red’ => 2, ‘green’ => 3, ‘purple’ => 4); $array2 = array(‘green’ => 5, ‘blue’ => 6, ‘yellow’ => 7, ‘cyan’ => 8); var_dump(array_diff_ukey($array1, $array2, ‘key_compare_func’)); ?>

ผลลพท

Page 27: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

13

array_reduce - ลดจ านวนสมาชกในอาเรยใหเหลอตวเดยว โดยใชฟงกชนเขามาจดการ

ฟงกชนน ลดจ านวนสมาชกในอาเรยใหเหลอตวเดยว โดยใชฟงกชนเขามาจดการ

ตวอยางท 1 การใชงานเบองตน

<?php function sum($carry, $item) { $carry += $item; return $carry; } $a = array(1, 2, 3, 4, 5); var_dump(array_reduce($a, “sum”)); // int(15) ?>

ผลลพท

Page 28: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

14

array_rand - สมคาจากอาเรย

ฟงกชนนใชสมคาจากอาเรย

ตวอยางท 1 การใชงานเบองตน

<?php $input = array(“กลวย”, “สม”, “มะนาว”, “องน”, “แตงโม”); $rand_keys = array_rand($input, 2); echo $input[$rand_keys[0]] . “n”; echo $input[$rand_keys[1]] . “n”; ?>

ผลลพท การสมครงท 1

การสมครงท 2

php array_push - เพมคาลงในอาเรยโดย เพมตอจากทาย

ฟงกชนนใชเพมคาลงในอาเรยโดย เพมตอจากทาย

ตวอยางท 1 การใชงานเบองตน

Page 29: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

15

<?php $stack = array(“orange”, “banana”); array_push($stack, “apple”, “raspberry”); var_dump($stack); ?>

ผลลพท

array_product - ใชหาผลรวมของคาทงหมดในอาเรย

ฟงกนใชหาผลคณรวมของคาทงหมดในอาเรย

ตวอยางท 1 การใชงานเบองตน

<?php $a = array(2, 4, 6); echo “product(a) = “ . array_product($a) . “n”; ?>

ผลลพท

Page 30: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

16

array_pop - ดงคาทายสดของอาเรยออกมา

ฟงกชนนใชดงคาสดทายของอาเรยออกมาแลวลบคานนออกจาก อาเรยทดงมาดวย

ตวอยางท 1 การใชงานเบองตน

<?php $stack = array(“orange”, “banana”, “apple”, “raspberry”); $fruit = array_pop($stack); echo ‘คาทดงออกมาคอ ‘.$fruit.’<br>’; echo ‘คาทเหลอคอ’; var_dump($stack); ?>

ผลลพท

array_pad - ขยายขนาดอาเรยและเพมคาเขาไปใหม

ฟงกชนนใชขยายขนาดของอาเรย และเพมคาตามทก าหนด

Page 31: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

17

ตวอยางท 1 การใชงานเบองตน

<?php $input = array(12, 10, 9); $result = array_pad($input, 5, 0); var_dump($result); ?>

ผลลพท

array_multisort - เรยงล าดบคาในอาเรยดวย เงอนไขหลายๆ ตว ค าสงนชวยเรยงล าดบขอมลในอาเรยโดยใชหลายๆ เงอนไขและหลายแบบ

พารามเตอรทใชกบค าสง

1. array ทตองการเรยงล าดบ 2. รปแบบการเรยงล าดบ

SORT_ASC - นอยไปมาก SORT_DESC - มากไปนอย

3. ชนดของการเรยง SORT_NUMERIC - เรยงล าดบตามตวเลข SORT_STRING - เรยงล าดบตามตวอกษร SORT_LOCALE_STRING - เปรยบเทยบเปนตอกษรตาม ภาษาทใชอย โดยการตงคาภาษาจะใช

ฟงกชน setlocale()

Page 32: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

18

SORT_NATURAL - เปรยบเทยบเปนตวอกษรโดยใช ฟงกชน natsort

ตวอยางท 1 การใชงานเบองตน

<?php $a=array(“จ”,”ข”,”ค”,”ภ”,”ร”); array_multisort($a); print_r($a); ?>

ผลลพท

ตวอยางท 2 การใช SORT_ASC

<?php $a=array(“จ”,”ข”,”ค”,”ภ”,”ร”); array_multisort($a,SORT_ASC); print_r($a); ?>

ผลลพท

Page 33: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

19

ตวอยางท 3 การใช SORT_DESC

<?php $a=array(“จ”,”ข”,”ค”,”ภ”,”ร”); array_multisort($a,SORT_DESC); print_r($a); ?>

ผลลพท

php array_merge_recursive – รวมอาเรยหลายตว โดยรวม key ทเหมอนกนดวย ตางจาก array_merge คอจะรวมคาจาก key ทมชอเหมอนกนดวย โดย array_merge นนเมอใชกบตวอยางเดยวกน

ตวอยางท 1 เปรยบเทยบกบ array_merge

<?php $ar1 = array(“color” => array(“favorite” => “red”), 5); $ar2 = array(10, “color” => array(“favorite” => “green”)); $result = array_merge($ar1, $ar2); var_dump($result); ?>

ผลทได

Page 34: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

20

เมอใช array_merge_recursive จะเหนวามการรวมคาจากอาเรยตวทสอง ทม key เหมอนกนเขาไปดวย

array_map - จดการคาทงหมดในอาเรยโดยใชฟงกชนเพมเตม

ค าสงนใช แปลงคาในอาเรยทงหมดโดยใช ฟงกชน callback เขามาจดการ

ตวอยางท 1 การใชงานเบองตน

<?php function cube($n) { return($n $n $n); } $a = array(1, 2, 3, 4, 5); $b = array_map(“cube”, $a); print_r($b); ?>

ผลลพททได จะเหนวาคาในอาเรยใหม ถกแปลงดวยฟงกชน a

Page 35: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

21

php array merge – รวมอาเรยหลายตว

array merge คอฟงกใชรวมอาเรยหลายๆ ตวเขาดวยกน

ตวอยาง

<?php $array2 = array(“a”, “b”, “color” => “green”, “shape” => “trapezoid”, 4); $result = array_merge($array1, $array2); print_r($result); ?>

ผลลพท จะเหนวามการสราง key ใหอตโนมต

Page 36: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

22

Page 37: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

23

Page 38: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

24

CURLFile::__construct สรางออปเจคตจากคลาส CURL

ใชสรางออปเจคตจากคลาส CURL

ตวอยาง

<?php $ch = curl_init(‘http://localhost/test_php/upload2.php‘); $cfile = new CURLFile(‘cats.jpg’,’image/jpeg’,’test_name’); $data = array(‘test_file’ => $cfile); curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); $fname = $cfile->getFilename() ; echo $fname ; ?>

ผลลพท

CURLFile::getFilename ฟงกชนใชส าหรบเกบชอของไฟล

ใชส าหรบเกบชอของไฟล

ตวอยาง

<?php $ch = curl_init(‘http://localhost/test_php/upload2.php‘); $cfile = new CURLFile(‘cats.jpg’,’image/jpeg’,’test_name’); $data = array(‘test_file’ => $cfile);

Page 39: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

25

curl_setopt($ch, CURLOPT_POST,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); $fname = $cfile->getFilename() ; echo $fname ; ?>

ผลลพท

CURLFile::getMimeType ฟงกชนใชส าหรบเกบ MIME ของไฟล

ใชส าหรบเกบ MIME ของไฟล

ตวอยาง

<?php $curlf = new CURLFile(‘test1.php’); $curlf -> setMimeType(‘Web PHP FILE’); echo $curlf ->getMimeType() ; ?>

ผลลพท

Page 40: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

26

curl_close ยกเลกการใชงาน cURL

ใชเพอยกเลกการใชงาน cURL

ตวอยาง

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, “http://www.dek-d.com/“); curl_setopt($ch, CURLOPT_HEADER, 0); curl_close($ch); curl_exec($ch);// ใช curl_close($ch) ท าให curl_exec($ch); Error ?>

ผลลพท

Page 41: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

27

php curl_copy_handle ฟงกชนใชส าหรบโคลนออปเจคตของ Curl

copy ออปเจคตของ Curl

ตวอยาง

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, ‘http://www.sanook.com/‘); curl_setopt($ch, CURLOPT_HEADER, 0); $ch2 = curl_copy_handle($ch); curl_exec($ch2); curl_close($ch2); curl_close($ch); ?>

ผลลพท

Page 42: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

28

curl_errno ฟงกชนใชส าหรบดงจ านวนขอผดพลาดจากการใช cURL

แสดงจ านวนขอผดพลาดจากการใช cURL

ตวอยาง

<?php $ch = curl_init(‘http://www.sook.com/‘); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); if(curl_errno($ch)) { echo ‘The error numeber : ‘ .curl_errno($ch); } curl_close($ch); ?>

ผลลพท

Page 43: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

29

curl_error ฟงกชนใชส าหรบดงจ านวนขอผดพลาดจากการใช cURL

แสดงขอผดพลาดจากการใช cURL

ตวอยาง

<?php $ch = curl_init(‘http://www.sook.com/‘); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); if(curl_errno($ch)) { echo ‘The error numeber : ‘ .curl_error($ch); } curl_close($ch); ?>

ผลลพท

Page 44: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

30

curl_exec สงให cURL ท างาน

สงให cURL ท างาน

ตวอยาง

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, “http://www.sanook.com/“); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); ?>

ผลลพท

Page 45: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

31

curl_escape แทนทชองวางในประโยคดวยคาทก าหนด

คอ ฟงกชนทใช แทนทชองวางในประโยคดวยคาทก าหนด

ตวอยาง

<?php $ch = curl_init(); $ori_url = ‘https://www.google.co.th/#q=การเดนทาง‘; $esc_url = curl_escape($ch, ‘https://www.google.co.th/#q=การเดนทาง‘); echo $ori_url ; echo “<br>”; echo $esc_url ; curl_close($ch); ?>

ผลลพท

curl_getinfo ดงขอมลการท างานของ cURL

คอ ฟงกชนทใช ดงขอมลการท างานของ cURL Object

ตวอยาง

<?php $ch = curl_init(‘http://www.sanook.com/‘); curl_exec($ch); if (!curl_errno($ch)) { $info = curl_getinfo($ch); echo ‘Took ‘, $info[‘total_time’], ‘ seconds to send a request to ‘, $info[‘url’], “\n”; } curl_close($ch); ?>

Page 46: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

32

ผลลพท

curl_init สรางออปเจคตจากคลาส CURL ใหม

สรางออปเจคตจากคลาส CURL

ตวอยาง

<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, “http://www.sanook.com/“); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch);

Page 47: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

33

curl_close($ch); ?>

ผลลพท

curl_pause ใชส าหรบเชอมตอหรอหยดเชอมตอกบปลายทาง

ใชส าหรบเชอมตอหรอหยดเชอมตอกบปลายทาง

ตวอยาง

<?php $ch = curl_init(‘http://www.sanook.com/‘); curl_pause($ch , CURLPAUSE_ALL ) ; curl_exec($ch) ; curl_close($ch) ; ?>

ผลลพท

Page 48: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

34

curl_reset ลบขอมลการตงคาของ การเชอมตอ ทผานมา

resset การตงคาของ curl

ตวอยาง

<?php $ch = curl_init(); curl_setopt( $ch, CURLOPT_HEADER, true ); curl_reset($ch); curl_setopt($ch, CURLOPT_URL, ‘http://www.sanook.com/‘); curl_exec($ch); ?>

ผลลพท

Page 49: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

35

curl_setopt ตงคาการเชอมตอ

ตงคาการท างาน curl

ตวอยาง

<?php $curlResource = curl_init(); curl_setopt($curlResource, CURLOPT_URL, “http://www.sanook.com/“); curl_exec($curlResource); curl_close($curlResource); ?>

ผลลพท

Page 50: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

36

curl_strerror ดงขอความบอกขอผดพลาด

แสดง error ของ curl

ตวอยาง

<?php $ch = curl_init(“htp://www.sanook.com/“); curl_exec($ch); if($errno = curl_errno($ch)) { $error_message = curl_strerror($errno); echo “cURL error ({$errno}): <br>{$error_message}”; } curl_close($ch); ?>

ผลลพท

Page 51: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

37

curl_unescape ยกเลกการ escape ขอมลทสงมา

ยกเลกการ เขารหสขอมลทสงมา

ตวอยาง

<?php $ch = curl_init(‘https://www.google.co.th/#q=%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B9%80%E0%B8%94%E0%B8%B4%E0%B8%99%E0%B8%97%E0%B8%B2%E0%B8%87‘); $effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); echo $effective_url.” “; $effective_url_decoded = curl_unescape($ch, $effective_url); echo $effective_url_decoded; ?>

ผลลพท

Page 52: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

38

curl_version ดงเวอรชนของ cURL แสดงขอมลของ cURL version

ตวอยาง

<?php $version = curl_version(); $bitfields = Array( ‘CURL_VERSION_IPV6’, ‘CURL_VERSION_KERBEROS4’, ‘CURL_VERSION_SSL’, ‘CURL_VERSION_LIBZ’ ); foreach($bitfields as $feature) { echo $feature . ($version[‘features’] & constant($feature) ? ‘ matches’ : ‘ does not match’); echo “<br>”; } ?>

ผลลพท

Page 53: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

39

Page 54: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

40

cal_info ดงขอมลระบบปฏทนทระบบใชอย

ตวอยาง

<?php $info = cal_info(0); var_dump($info); ?>

ผลลพท

Page 55: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

41

date สรางขอมลวนเวลา ใชเพอรบคาวน เวลา ในรปแบบ string

ตวอยาง

<?php echo date(‘d M y’);

Page 56: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

42

echo “<br>”; echo date(“M-d-Y”, mktime(0, 0, 0, 1, 14, 2010)); ?>

ผลลพท

DateInterval::createFromDateString สรางออปเจคตของคลาส โดยใชค า

สรางออปเจคตของคลาส DateInterval โดยใชชอเราระบไว

ตวอยาง

<?php echo “Today : “.date(‘F jS, Y’, strtotime(‘today’)) . “<br>”; $i = new DateInterval(‘P1D’); $i = DateInterval::createFromDateString(‘1 day’);

Page 57: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

43

echo “1 day : “.date(‘F jS, Y’, strtotime(‘1 day’)) .”<br>”; $i = new DateInterval(‘P2W’); $i = DateInterval::createFromDateString(‘2 weeks’); echo “2 weeks : “.date(‘F jS, Y’, strtotime(‘2 weeks’)) .”<br>”; $i = new DateInterval(‘P3M’); $i = DateInterval::createFromDateString(‘3 months’); echo “3 months : “.date(‘F jS, Y’, strtotime(‘3 months’)) . “<br>”; $i = new DateInterval(‘P4Y’); $i = DateInterval::createFromDateString(‘4 years’); echo “4 years : “.date(‘F jS, Y’, strtotime(‘4 years’)) . “<br>”; $i = new DateInterval(‘P1Y1D’); $i = DateInterval::createFromDateString(‘1 year + 1 day’); echo “1 year + 1 day : “.date(‘F jS, Y’, strtotime(‘1 year + 1 day’)); ?>

ผลลพท

DateInterval::format จดรปแบบใหกบคาวนเวลา

ตวอยาง

<?php $interval = new DateInterval(‘P2Y4DT6H8M’);

Page 58: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

44

echo $interval->format(‘%d days’); ?>

ผลลพท

DateTime::add เพมคาวนหรอเวลาตามทก าหนด

ตวอยาง

<?php $date = new DateTime(‘2012-01-01’); $date->add(new DateInterval(‘P10D’)); // ใชคลาส DateInterval ซงใชจดการชวงเวลา echo $date->format(‘Y-m-d’) ; ?>

ผลลพท

Page 59: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

45

DateTime::createFromFormat สรางออปเจคตของวนเวลา โดยก าหนดรปแบบใหดวย

ตวอยาง

<?php

$format = ‘Y-m-d H s’;

$date = DateTime::createFromFormat($format, ‘2009-02-15 15 17’);

echo $date->format(‘Y-m-d H s’) ; ?>

ผลลพท

DateTime::diff หาความแตกตางของออปเจคตของคลาส DateTime

ตวอยาง

<?php $datetime1 = new DateTime(‘2015-10-11’); $datetime2 = new DateTime(‘2016-10-13’); $interval = $datetime1->diff($datetime2); echo $interval->format(‘%R%a days’); ?>

ผลลพท

Page 60: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

46

DateTime::format เปลยนรปแบบของวนเวลา

ตวอยาง

<?php $date = new DateTime(‘2000-01-01’);

echo $date->format(‘Y-m-d H s’); ?>

ผลลพท

DateTime::getLastErrors ดงคาการแจงเตอนและขอผดพลาด

ตวอยาง

<?php try { $date = new DateTime(‘asdfasdf’); } catch (Exception $e) { var_dump(DateTime::getLastErrors()); } ?>

ผลลพท

Page 61: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

47

DateTime::getTimestamp แปลงคาวนเวลาใหอยในแบบ timestamp

ตวอยาง

<?php $date = new DateTime(); echo $date->getTimestamp(); ?>

ผลลพท

DateTime::getTimezone ดงชอโซนเวลาของออปเจคต DateTime ฟงกชน getTimezone() จะ return ตวแปรคลาส DateTimeZone ออกมาแลวจะใชฟงกชน getName() ของคลาส DateTimeZone ในการรบคา timezone

ตวอยาง

<?php date_default_timezone_set(‘America/New_York’);

Page 62: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

48

$date=new DateTime(); $tz = $date->getTimezone(); echo $tz->getName(); ?>

ผลลพท

DateTime::modify แกไขคาในออปเจคต DateTime เปนการใชฟงกชน modify ของคลาส DateTime เพอปรบวนเวลา

ตวอยาง

<?php

$date = new DateTime(‘2009-12-30’);

echo $date->format(‘d-m-Y’);

echo “<br>”;

$date->modify(‘+1 day’);

echo $date->format(‘d-m-Y’);

echo “<br>”;

$date->modify(‘-1 day’);

echo $date->format(‘d-m-Y’);

?>

ผลลพท

Page 63: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

49

DateTime::setDate ก าหนดวนใหออปเจคต DateTime เปนการใชฟงกชน setDate ของคลาส DateTime เพอตงคาวนเดอนป

ตวอยาง

<?php

$date = new DateTime();

$date->setDate(2001, 2, 28);

echo $date->format(‘Y-m-d’) . “<br>”;

$date->setDate(2001, 2, 29);

echo $date->format(‘Y/m/d’) . “<br>”;

$date->setDate(2001, 14, 3);

echo $date->format(‘Y/M/D’) ;

?>

ผลลพท

Page 64: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

50

DateTimeZone::getLocation ดงคาทอยของผใชงาน เชน ละตจด,ลองตจด

ตวอยาง

<?php $tz = new DateTimeZone(“Asia/Bangkok”); var_dump($tz->getLocation()); ?>

ผลลพท

DateTimeZone::getName ดงคาชอของเขตเวลานน getName คอ ฟงกชนทใชดงชอของเขตเวลาจากออปเจคตของคลาส DateTimeZone

ตวอยาง

Page 65: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

51

<?php

$DateTimeZone = timezone_open ( ‘America/Chicago’ );

echo ‘ชอของเขตเวลาคอ ‘. timezone_name_get($DateTimeZone); ?>

ผลลพท

DateTimeZone::listIdentifiers ดงรายชอเขตเวลาทงหมด

ตวอยาง

<?php $timezone_identifier = DateTimeZone::listIdentifiers(); foreach ($timezone_identifier as $timezone_identifiers) { echo $timezone_identifiers.’<br>’; } ?>

ผลลพท

Page 66: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

52

date_modify ใชแกไขคาในออปเจคต DateTime

ตวอยาง

<?php $date = date_create(‘2006-12-12’); date_modify($date, ‘+1 day’); echo date_format($date, ‘Y-m-d’); ?>

ผลลพท

php localtime รบขอมลวนและเวลาในรปแบบ array รบขอมลวนและเวลาในรปแบบ array ดวยฟงกชน localtime()

ตวอยาง

<?php $localtime = localtime(); var_dump($localtime);

?>

ผลลพท

Page 67: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

53

microtime แสดงวนเวลาปจจบนแบบ ไมโครวนาท แสดงวนเวลาปจจบนแบบ ไมโครวนาท

ตวอยาง

<?php ececho microtime() ;

?>

ผลลพท

mktime สรางขอมลของวนเวลาตามทระบไว

สรางขอมลของวนเวลาตามทระบไว

ตวอยาง

<?php echo date(“M-d-Y”, mktime(0, 0, 0, 1, 1, 1997)); // mktime(hour,minute,second,month,day,year) ?>

ผลลพท

Page 68: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

54

time แสดงขอมลของวนเวลาปจจบน

แสดงขอมลของวนเวลาปจจบน

ตวอยาง

<?php echo time(); echo “<br>” ; echo date(‘Y-m-d’,time()); ?>

ผลลพท

Page 69: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

55

strtotime รบคาเวลาของวนเวลาตาม string ทใสมาเปนพารามเตอร รบคาเวลาของวนเวลาตาม string ทใสเปนพารามเตอร

ตวอยาง

<?php echo strtotime(“now”), “\n <br>”; echo strtotime(“10 September 2000”), “\n <br>”; echo strtotime(“+1 day”), “\n <br>”; ?>

ผลลพท

Page 70: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

56

Page 71: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

57

chdir เลอกโฟลเดอรใหม

ตวอยาง

<?php // อดต echo getcwd() . “\n”; chdir(‘C:\UniServerZ\www’); // ปจจบน echo getcwd() . “\n”; ?>

ผลลพท

chmod ตงสทธในการจดการไฟล

ตวอยาง

<?php chmod(“filemtime.php”, 0600); echo ‘permission ของไฟล คอ ‘.substr(sprintf(‘%o’, fileperms(‘filemtime.php’)), -4); ?>

ผลลพท

Page 72: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

58

dir สรางออปเจคตของคลาส Directory

ตวอยาง

<?php $d = dir(“C:\UniServerZ\www\phpdemo”); echo “ล าดบของโฟลเดอร : “ . $d->handle . “<br>”; echo “เสนทางทอย : “ . $d->path . “<br><br><br>”; echo ‘รายชอโฟลเดอรทอยใน’; while (false !== ($entry = $d->read())) { echo $entry.”<br>”; } $d->close(); ?>

ผลลพท

Page 73: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

59

DirectoryIterator::getExtension ดงนามสกลของไฟล

ตวอยาง

<?php $dir = new DirectoryIterator(dirname(FILE)); foreach ($dir as $fileinfo) { echo $fileinfo->getExtension() . “<br>”; } ?>

Page 74: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

60

ผลลพท

DirectoryIterator::getFilename ดงชอของไฟล

ตวอยาง

Page 75: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

61

<?php $dir = new DirectoryIterator(dirname(FILE)); foreach ($dir as $fileinfo) { echo $fileinfo->getFilename() . “<br>”; } ?>

ผลลพท

DirectoryIterator::getMTime แสดงเวลาทมการแกไข แตละไฟลท path ปจจบน แสดงเวลาทมการแกไขแตละไฟลท path ปจจบน

ตวอยาง

Page 76: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

62

<?php $iterator = new DirectoryIterator(dirname(FILE)); foreach ($iterator as $fileinfo) { if ($fileinfo->isFile()) { echo $fileinfo->getFilename() . “ “ . $fileinfo->getMTime() . “\n <br>”; } } ?>

ผลลพท

DirectoryIterator::getOwner แสดงเจาของ path ปจจบน แสดงเจาของ path ปจจบน

ตวอยาง

<?php echo mimecontenttype(‘foldertest\excel.xlsx’) . “<br>”;

Page 77: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

63

echo mimecontenttype(‘index.php’); ?>

ผลลพท

DirectoryIterator::getPath แสดง path ปจจบน แสดง path ปจจบน

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(FILE)); echo $iterator->getPath(); ?>

ผลลพท

DirectoryIterator::getPathname แสดง path เเละชอไฟล ปจจบน

แสดง path เเละชอไฟล ปจจบน

Page 78: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

64

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(FILE)); foreach ($iterator as $fileinfo) { echo $fileinfo->getPathname() . “\n <br>”; } ?>

ผลลพท

—————

DirectoryIterator::getPerms แสดงสทธการใชงานแตละไฟลใน path ปจจบน แสดงสทธการใชงานแตละไฟลใน path ปจจบน

ตวอยาง

Page 79: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

65

<?php $iterator = new DirectoryIterator(dirname(_FILE)); foreach ($iterator as $fileinfo) { if (!$fileinfo->isDot()) { $octal_perms = substr(sprintf(‘%o’, $fileinfo->getPerms()), -4); echo $fileinfo->getFilename() . “ “ . $octal_perms . “\n <br>”; } } ?>

ผลลพท

—————

DirectoryIterator::getSize แสดงขนาดของแตละไฟลใน path ปจจบน แสดงขนาดของแตละไฟลใน path ปจจบน หนวยเปน Byte

ตวอยาง

Page 80: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

66

<?php $iterator = new DirectoryIterator(dirname(__FILE)); foreach ($iterator as $fileinfo) { if ($fileinfo->isFile()) { echo $fileinfo->getFilename() . “ “ . $fileinfo->getSize() . “\n bytes <br>”; } } ?>

ผลลพท

—————

DirectoryIterator::getSize แสดงขนาดของแตละไฟลใน path ปจจบน แสดงขนาดของแตละไฟลใน path ปจจบน หนวยเปน Byte

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(__FILE)); foreach ($iterator as $fileinfo) {

Page 81: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

67

if ($fileinfo->isFile()) { echo $fileinfo->getFilename() . “ “ . $fileinfo->getSize() . “\n bytes <br>”; } } ?>

ผลลพท

—————

DirectoryIterator::isDir เชควาออปเจคตชอยทโฟลเดอรหรอไม

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(‘C:/xampp/htdocs’)); foreach ($iterator as $fileinfo) { if ($fileinfo->isDir()) { echo $fileinfo->getFilename() . “<br>”; } } ?>

ผลลพท

Page 82: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

68

DirectoryIterator::isReadable ตรวจวาไฟลสามารถอานไดหรอไม

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(FILE)); foreach ($iterator as $fileinfo) { if ($fileinfo->isReadable()) { echo $fileinfo->getFilename() . “<br>”; } } ?>

ผลลพท

Page 83: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

69

DirectoryIterator::isWritable ตรวจวาไฟลสามารถเขยนไดหรอไม

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(FILE)); foreach ($iterator as $fileinfo) { if ($fileinfo->isWritable()) { echo $fileinfo->getFilename() . “ is writeable<br>”; } } ?>

Page 84: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

70

ผลลพท

DirectoryIterator::key ดงล าดบไฟล

ตวอยาง

<?php $dir = new DirectoryIterator(dirname(‘C:/‘)); foreach ($dir as $fileinfo) { if (!$fileinfo->isDot()) { echo $fileinfo->key() . “ => “ .$fileinfo->getFilename().“<br>”; } } ?>

Page 85: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

71

ผลลพท

DirectoryIterator::next เลอนพอยเตอรไปยงไฟลถดไป

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(FILE)); echo ‘กอนเลอน ‘.$iterator->key().’<br>’; $iterator->next(); echo ‘หลงจากเลอน ‘.$iterator->key();

Page 86: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

72

?>

ผลลพท

DirectoryIterator::rewind เลอนพอยเตอรไปยงไฟลแรก

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(FILE)); echo ‘กอนเลอน ‘.$iterator->key().’<br>’; $iterator->next(); echo ‘หลงจากเลอน ไปขางหนา ‘.$iterator->key().’<br>’; $iterator->rewind(); echo ‘หลงจากเลอน กลบดานหลง ‘.$iterator->key(); ?>

ผลลพท

Page 87: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

73

DirectoryIterator::seek เลอนพอยเตอรไปยงไฟลทก าหนด

ตวอยาง

<?php $iterator = new DirectoryIterator(dirname(FILE)); $iterator->seek(3); if ($iterator->valid()) { echo $iterator->getFilename(); } else { echo ‘ไมมไฟลทต าแหนงท 3’; } ?>

ผลลพท

DirectoryIterator::valid ใชตรวจวาตอนนพอยเตอรชอยทไฟล ใชตรวจวาตอนนพอยเตอรชอยทไฟล

<?php $di = new DirectoryIterator(‘C:\xampp\htdocs\test_php’); while ($di->valid()) { echo $di->getPathname() . “\n”; echo “ “; $di->next(); } ?>

Page 88: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

74

ผลลพท

—————

disk_total_space ดงคาขนาดของไดร

ตวอยาง

<?php $ds = disk_total_space(“C:”); //ใน windows $dz = disk_total_space(“/“); //ใน linux echo $ds; ?>

ผลลพท

Page 89: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

75

จะเหนไดวาเมอเราใชค าสง echo $ds; จะไดผลลพธออกมาเปนตวเลขซงนนคอขนาดของ drive ทเราท าการเชคขนาดโดยมหนวยเปน bytes

—————

filemtime ดงคาเวลาทมการแกไขไฟลในครงลาสด

ตวอยาง

<?php $filename = ‘my_file.txt’; if (file_exists($filename)) {

echo “$filename ถกแกไขครงลาสดเมอ: “ . date (“F d Y H s.”, filemtime($file

name)); } ?>

ผลลพท

filesize ดงขอมลขนาดของไฟล

ตวอยาง

<?php $filename = ‘my_file.txt’; echo $filename . ‘: ‘ . filesize($filename) . ‘ bytes’;

Page 90: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

76

?>

ผลลพท

fileperms ดงคาสทธในการแกไขไฟลนน

ตวอยาง

<?php echo substr(sprintf(‘%o’, fileperms(‘chdir.php’)), -4); ?>

ผลลพท

—————

filesize ดงขอมลขนาดของไฟล

ตวอยาง

<?php $filename = ‘my_file.txt’; echo $filename . ‘: ‘ . filesize($filename) . ‘ bytes’; ?>

Page 91: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

77

ผลลพท

—————

filetype ดงคาทบอกถงชนดของไฟล

ตวอยาง

<?php echo filetype(‘my_file.txt’); ?>

ผลลพท

—————

file_exists ตรวจสอบวาไฟลมอยไหม

ตวอยาง

<?php $filename = ‘my_file.txt’; if (file_exists($filename)) { echo “The file $filename exists”; } else {

Page 92: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

78

echo “The file $filename does not exist”; } ?>

ผลลพท

file_get_contents อานขอมลออกมาจากไฟล

ตวอยาง

<?php $filename = ‘my_file.txt’; if (file_exists($filename)) { echo “The file $filename exists”; } else { echo “The file $filename does not exist”; } ?>

ผลลพท

Page 93: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

79

—————

fopen ฟงกชนทใชเปดไฟลในโหมดตาง ๆ ฟงกชน fopen คอฟงกชนทใชเปดไฟลในโหมดตาง ๆ

ตวอยาง

<?php $file_name = “C:\xampp\htdocs\test_php\test_file.txt” ;// เปดจากทอยในเครอง $file=fopen($file_name,”r”); echo fread( $file , filesize($file_name) ) ; fclose($file); echo “<br>” ; $file_name = “http://localhost/test_php/test1.php“ ; // เปดจากเวป $file=fopen($file_name,”r”); echo fread( $file , 5000) ; fclose($file); ?>

ผลลพท

—————

Page 94: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

80

fputcsv จดขอมลใหอยในแบบ csv แลวเขยนลงไฟล จดขอมลใหอยในแบบ csv แลวเขยนลงไฟล

ตวอยาง

<?php $list = array ( array(‘aaa’, ‘bbb’, ‘ccc’, ‘dddd’), array(‘123’, ‘456’, ‘789’), array(‘“aaa”‘, ‘“bbb”‘) ); $fp = fopen(‘file.csv’, ‘w’); foreach ($list as $fields) { fputcsv($fp, $fields); } fclose($fp); ?>

ผลลพท

—————

fread อานขอมลจากไฟลทผานการเปดดวย fopen ฟงกชนทใชอานขอมลจากไฟลทผานการเปดดวย fopen

Page 95: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

81

ตวอยาง

<?php $filename = “test.txt”; $handle = fopen($filename, “r”); $contents = fread($handle, filesize($filename)); echo $contents; fclose($handle); ?>

ผลลพท

—————

fstat ดงขอมลการใชงานไฟล

ตวอยาง

<?php // เปดไฟ $fp = fopen(“test.txt”, “r”); // ใชงาน fstat $fstat = fstat($fp); // ปดไฟล fclose($fp); // ปรนออกมาด var_dump($fstat); ?>

ผลลพท

Page 96: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

82

getcwd ฟงกชน ดงชอโฟลเดอรปจจบนทถกใชงานอย ฟงกชน ดงชอโฟลเดอรปจจบนทถกใชงานอย

ตวอยาง

<?php echo getcwd(); ?>

ผลลพท

—————

Page 97: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

83

glob คนหาไฟลโดยใชรปแบบทก าหนด glob คอ ฟงกชนทใช คนหาไฟลโดยใชรปแบบทก าหนด

ตวอยาง ท 1 การคนหาตามนามสกล

<?php foreach (glob(“*.php”) as $filename) { echo “$filename <br>”; } ?>

ผลลพท

is_dir ตรวจวาเปนโฟลเดอรหรอไม ฟงกชนทใชตรวจวาเปนโฟลเดอรหรอไม

ตวอยาง

จะเหนวา เราทดสอบโดยใชไฟล gettype.php และโฟลเดอร directory

Page 98: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

84

<?php var_dump(is_dir(‘gettype.php’)); var_dump(is_dir(‘../directory’)); ?>

ผลลพท

————— is_executable ตรวจวาเปนไฟลทถกรนไดไหมหรอไม

ตวอยาง

<?php $file = ‘gettype.php’; if (is_executable($file)) { echo $file.’ is executable’; } else { echo $file.’ is not executable’; } ?>

ผลลพท

—————

Page 99: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

85

is_uploaded_file ตรวจวาเปนไฟลทผานการอพโหลดมา หรอไม?

ตวอยาง

<?php $file = “stat.php”; if(is_uploaded_file($file)) { echo (“$file is uploaded via HTTP POST”); } else { echo (“$file is not uploaded via HTTP POST”); } ?>

ผลลพท

—————

mime_content_type ดงชอของชนดของไฟลในแบบ mime ใชเพอแสดงขอมล content type ของไฟลทเราระบ

ตวอยาง

<?php echo mime_content_type(‘folder_test\excel.xlsx’) . “<br>”; echo mime_content_type(‘index.php’); ?>

ผลลพท

Page 100: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

86

pathinfo ดงขอมลตางๆ ทเกยวกบเสนทางของไฟล

ตวอยาง

<?php $path_parts = pathinfo(‘/xampp/htdocs/apartmentinthai/index.php’);

echo ‘เสนทางคอ ‘.$path_parts[‘dirname’], “<br>”; echo ‘ชอรวมกบนามสกล คอ ‘.$path_parts[‘basename’], “<br>”; echo ‘ชอคอ ‘.$path_parts[‘filename’], “<br>”; echo ‘นามสกลคอ ‘.$path_parts[‘extension’], “<br>”; ?>

ผลลพท

readdir อานขอมลจากโฟลเดอร

อานขอมลจากโฟลเดอร

Page 101: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

87

ตวอยาง

<?php if ($handle = opendir(‘.’)) { while (false !== ($entry = readdir($handle))) { if ($entry != “.” && $entry != “..”) { echo “$entry “; } } closedir($handle); } ?>

ผลลพท

realpath ดงคาเสนทางแบบเตมๆออกมา แสดงขอมล path ในเครอง

ตวอยาง

<?php echo realpath(‘.’); ?>

Page 102: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

88

ผลลพท

scandir ดงรายฃอของไฟลและโฟลเดอร

ตวอยาง

<?php $dir = ‘/tmp’; var_dump(scandir($dir)); ?>

ผลลพท

Page 103: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

89

stat ดงขอมลแบบสถตตางๆ ของไฟล

ตวอยาง

<?php var_dump(stat(‘current.php’)); ?>

ผลลพท

unlink ลบไฟล ตวอยาง

ทดลองสรางไฟลขนมากอน

<?php $fh = fopen(‘test.html’, ‘a’); fwrite($fh, ‘<h1>Hello world!</h1>’); fclose($fh); ?>

ผลลพท

ท าการลบไฟลเรยกค าสง unlink

<?php

unlink(‘test.html’);

?>

Page 104: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

90

ผลลพท

Page 105: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

91

Page 106: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

92

die หยดการท างานของระบบ die คอฟงกชนทใชหยดการท างานของโคด

ตวอยาง

<?php echo ‘before die’; die(); echo ‘after die’; ?>

ผลลพท

connection_aborted ตรวจสอบวาฝงผใชงานตดการเชอมตอแลวหรอยง

ตวอยาง

<?php echo connection_aborted(); ?>

ผลลพท

ถาเปน 1 แปลวาการเชอมตอขาดไปแลว ถาเปน 0 แสดงวายงเชอมตอไดอย

Page 107: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

93

getenv ดงขอมลของระบบ ฟงกชนทใชดงขอมลตางของ server,php,database สามารถดรายการ คาทสามารถดไดท ฟงกชน phpinfo

ตวอยาง

<?php $myip = getenv(‘REMOTE_ADDR’); echo ‘My IP is ‘.$myip; ?>

ผลลพท

eval ตรวจสอบวาค าทก าหนดมลกษณะเปนโคดหรอไม ฟงกชนทใชแปลความหมายโคด php ทอยในรปแบบของค าหรอประโยค ใหสามารถท างานได

ตวอยาง

<?php $result = ‘echo 5 + 5 * 2;’; eval($result); ?>

ผลลพท

Page 108: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

94

exit หยดการท างานของระบบ

ตวอยาง

<?php echo ‘before exit’; exit(); echo ‘after exit’; ?>

ผลลพท

จะเหนวาไมม after exit แสดงออกมาเพราะ หยดการท างานไปแลว

extension_loaded ตรวจสอบวาสวนเสรมไดเปดใชงานไหม

ตวอยาง

<?php if (extension_loaded(‘open_ssl’)) { echo ‘Openssl is Enabled’; }else{ echo ‘Openssl is not Enabled’; } ?>

Page 109: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

95

ผลลพท

getlastmod ดงวนเวลาทไดแกไขหนาในครงลาสด getlastmod คอฟงกชน ดงวนเวลาทไดแกไขหนาในครงลาสด

ตวอยาง

<?php

echo “Last modified: “ . date (“F d Y H s.”, getlastmod()); ?>

ผลลพท

get_browser ดงขอมลของบราวเซอรทผใชงานใช ดงขอมลของบราวเซอรทผใชงานใช

ตวอยาง

<?php echo $_SERVER[‘HTTP_USER_AGENT’] . “\n\n”; $browser = get_browser(null, true); var_dump($browser); ?>

ผลลพท

Page 110: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

96

ini_get ดงขอมลจากไฟล php.ini

ตวอยาง

<?php echo ‘display_errors = ‘ . ini_get(‘display_errors’) . “<br>”; echo ‘register_globals = ‘ . ini_get(‘register_globals’) . “<br>”; echo ‘post_max_size = ‘ . ini_get(‘post_max_size’) . “<br>”; echo ‘post_max_size+1 = ‘ . (ini_get(‘post_max_size’)+1) . “<br>”; ?>

ผลลพท

ini_get_all ดงขอมลทงหมดจากไฟล php.ini

ตวอยาง

<?php var_dump(ini_get_all()); ?>

ผลลพท

Page 111: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

97

ini_set เพมขอมลลงไฟล ini

ตวอยาง

<?php header(‘Content-Type: text/html; charset=utf-8’); echo ‘กอนการตงคา display_errors = ‘.ini_get(‘display_errors’).’<br>’; ini_set(‘display_errors’, ‘0’); echo ‘หลงการตงคา display_errors = ‘.ini_get(‘display_errors’); ?>

Page 112: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

98

ผลลพท

phpinfo ดงขอมลการตงคาของ php ทงหมด

ตวอยาง

<?php echo phpinfo(); ?>

ผลลพท

Page 113: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

99

php_uname ดงคาระบบปฏบตการท php ท างานอย

ตวอยาง

<?php var_dump(php_uname()); ?>

ผลลพท

จะไดชอของ os ชอของเครอง เวอรชนของ os เปนตน

set_time_limit ก าหนดเวลาสงสดทจะใหสครปท างานได ก าหนดเวลาสงสดทจะใหสครปท างานได

ตวอยาง

<?php set_time_limit(5); $i = 0; while ($i<=10) { echo “i=$i “; sleep(1); $i++; } ?>

Page 114: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

100

ผลลพท

sys_get_temp_dir ดงคาทอยของโฟลเดอรทเกบไฟล temp

ตวอยาง

<?php echo sys_get_temp_dir(); ?>

ผลลพท

version_compare เปรยบเทยบ version ของ php เปรยบเทยบ Version ของ php

Page 115: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

101

ตวอยาง

<?php if (version_compare(PHP_VERSION, ‘6.0.0’) >= 0) { echo ‘I am at least PHP version 6.0.0, my version: ‘ . PHP_VERSION . “\n <br>”; } if (version_compare(PHP_VERSION, ‘5.3.0’) >= 0) { echo ‘I am at least PHP version 5.3.0, my version: ‘ . PHP_VERSION . “\n <br>”; } // ตวอยางการใชตวควบคมในรปแบบ stringg เชน <, lt, <=, le, >, gt, >=,ge, ==, =, eq, !=, <> if (version_compare(PHP_VERSION, ‘5.0.0’, ‘>=’)) { // version_compare( version , คาทจะเปรยบเทยบ , ตวควบคมในรปแบบ string ) echo ‘I am using PHP 5, my version: ‘ . PHP_VERSION . “\n <br>”; } if (version_compare(PHP_VERSION, ‘5.0.0’, ‘<’)) { echo ‘I am using PHP 4, my version: ‘ . PHP_VERSION . “\n <br>”; } ?>

ผลลพท

Page 116: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

102

uniqid สรางคาทไมซากน

ตวอยาง

<?php var_dump(uniqid()); ?>

ผลลพท

Page 117: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

103

Page 118: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

104

hash สรางคาทผานการเขา รหสแบบถอดกลบไมได

ตวอยาง

<?php echo hash(‘md5’, ‘test test’); ?>

ผลลพท

hash_algos - แสดงลสรายชอของอลกอรทมทใชในการเขารหส ใชแสดงลสรายชอของอลกอรทมทใชในการเขารหส

ตวอยางท 1

<?php

var_dump(hash_algos());

?>

Page 119: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

105

ผลลพธ จะแสดงลสรายชอของอลกอรทมทใชในการเขารหส

ตวอยางท 2 การน า hash_algos มาใชกบ loop เพอแสดงคาของการเขารหสขอความค าวา “hello” ดวยฟงกชนตางๆ

<?php

$data = "hello";

foreach (hash_algos() as $v) {

$r = hash($v, $data, false);

echo("$v".":-"."$r"."<br>");

}

?>

ผลลพธ จะแสดงชอฟงกชนและผลการเขารหส

Page 120: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

106

password_verify ฟงกชนใชส าหรบตรวจสอบคาทปอนเขามาวาตรงกบคา hash ทเกบไวหรอไม คอ ฟงกชนทใชตรวจสอบรหสทมาจากการใชงานฟงกชน password_hash

ตวอยาง

<?php $hash = ‘$2y$10$7taQaVIGqXB1okp63E4Wsuzubrx0AaEbto9L9nXNEItQNnuliqqg6’; if (password_verify(‘krissanawat’, $hash)) { echo ‘Password is valid!’; } else { echo ‘Invalid password.’; } ?>

ผลลพท

Page 121: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

107

mcrypt_enc_get_algorithms_name ฟงกชนใชส าหรบดงชออลกอรทมทใชเขารหส ออกมาจากตวแปร

ตวอยาง

<?php $td = mcrypt_module_open(MCRYPT_CAST_256, ‘’, MCRYPT_MODE_CFB, ‘’); echo mcrypt_enc_get_algorithms_name($td). “<br>”; $td = mcrypt_module_open(‘cast-256’, ‘’, MCRYPT_MODE_CFB, ‘’); echo mcrypt_enc_get_algorithms_name($td); ?>

ผลลพท

password_get_info ฟงกชนส าหรบดงขอมลของคา hash

ตวอยาง

<?php $pass = password_hash(“krissanawat”, PASSWORD_DEFAULT); var_dump(password_get_info($pass)); ?>

ผลลพท คาทไดออกมา คอ ชอของ อลกอรทมทใช และคา cost

Page 122: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

108

password_hash ฟงกชนส าหรบสรางรหสผานดวยการ hash รปแบบการเขารหสม 2 ตวคอ

1. PASSWORD_DEFAULT - เปนการใชอลกอรทมทตงเปนคาเรมตนในระบบ 2. PASSWORD_BCRYPT - เปนการใชอลกอรทม bcrypt

ตวอยาง

<?php echo password_hash(“krissanawat”, PASSWORD_DEFAULT); ?>

ผลลพท

Page 123: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

109

random_int ฟงกชนใชส าหรบสรางเลขแบบสม คอ ฟงกชนใชส าหรบสรางเลขแบบสม

ตวอยาง

<?php

echo(random_int(100, 999)).'<br>';

echo(random_int(100, 999)).'<br>';

echo(random_int(100, 999));

?>

ผลลพท

Page 124: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

110

Page 125: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

111

json_decode แปลง json กลบเปนอาเรย

ตวอยาง

<?php $json = ‘{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}’; var_dump(json_decode($json)); ?>

ผลลพท

json_decode แปลง json กลบเปนอาเรย

ตวอยาง

<?php $json = ‘{“a”:1,”b”:2,”c”:3,”d”:4,”e”:5}’; var_dump(json_decode($json)); ?>

ผลลพท

Page 126: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

112

Page 127: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

113

Page 128: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

114

abs สรางคาสมบรณ

ตวอยาง

<?php

var_dump(abs(-32));

?>

ผลลพท

rand ใชสมคาทเปนตวเลข

ตวอยาง

<?php

var_dump(rand());

?>

ผลลพท

Page 129: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

115

floor ปดเศษทศนยมลงเปนจ านวนเตม

ตวอยาง

<?php

echo floor(4.3).’<br>’; // 4

echo floor(9.999).’<br>’; // 9

echo floor(-3.14).’<br>’; // -4

?>

ผลลพท

getrandmax สรางการสมคาทเปนไปไดมากทสด

ตวอยาง

<?php

var_dump(getrandmax());

?>

ผลลพท

Page 130: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

116

pi ดงคาของพาย

ตวอยาง

<?php

var_dump( pi());

?>

ผลลพท

log หาคาลอการทม

ตวอยาง

<?php

var_dump(log(10));

?>

ผลลพท

max หาคาทมากทสด

ตวอยาง

Page 131: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

117

<?php

echo ‘คาทมากทสดคอ ‘.max(2, 3, 1, 6, 7).’<br>’; // 7 echo ‘คาทมากทสด คอ ‘. max(array(2, 4, 5)); // 5 ?>

ผลลพท

Page 132: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

118

Page 133: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

119

mysqli_connect เปดการเชอมตอกบ mysql เปดการเชอมตอกบ mysql

ตวอยาง

<?php $link = mysqli_connect(“localhost”, “root”, “1111”, “mydb”); if (!$link) { echo “Error: Unable to connect to MySQL.” . PHP_EOL; echo “Debugging errno: “ . mysqli_connect_errno() . PHP_EOL; echo “Debugging error: “ . mysqli_connect_error() . PHP_EOL; exit; } echo “Success: A proper connection to MySQL was made! The my_db database is great.” . PHP_EOL; echo “Host information: “ . mysqli_get_host_info($link) . PHP_EOL; mysqli_close($link); ?>

ผลลพท

Page 134: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

120

mysqli::$affected_rows ดงจ านวนของขอมลทไดรบผลจากการควร ดงจ านวนของขอมลทไดรบผลจากการควร

ตวอยาง

<?php

$mysqli = new mysqli("localhost", "root", "1111", "mydb");

$result = $mysqli->query("SELECT district_name FROM district");

printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

$result->close();

$mysqli->close();

?>

ผลลพท

mysqli::$client_info ดงขอมลของ mysql ดงขอมลของ mysql cilent

ตวอยาง

Page 135: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

121

<?php printf(“Client library version: %s\n”, mysqli_get_client_info()); ?>

ผลลพท

mysqli::$client_version ดงเวอรชนของ mysql ดงเวอรชนของ mysql

ตวอยาง

<?php printf(“Client library version: %d\n”, mysqli_get_client_version()); ?>

ผลลพท

Page 136: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

122

mysqli::$connect_errno ดงรหสของขอผดพลาด จากการเชอมตอ ดงรหสของขอผดพลาด จากการเชอมตอ

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “maydb”); if ($mysqli->connect_error) { die(‘Connect Error: ‘ . $mysqli->connect_errno); } $mysqli->close(); ?>

ผลลพท

mysqli::$connect_error ดงรายละเอยดของขอผดพลาด จากการเชอมตอ ดงรายละเอยดของขอผดพลาด จากการเชอมตอ

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “maydb”); if ($mysqli->connect_error) { die(‘Connect Error: ‘ . $mysqli->connect_error); } $mysqli->close(); ?>

ผลลพท

Page 137: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

123

mysqli::$errno ดงรหสของขอผดพลาด จากการควร ดงรหสของขอผดพลาด จากการควร

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if (!$mysqli->query(“SET a=1”)) { printf(“Errorcode: %d\n”, $mysqli->errno); } $mysqli->close(); ?>

ผลลพท

Page 138: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

124

mysqli::$errno ดงรหสของขอผดพลาด จากการควร ดงรหสของขอผดพลาด จากการควร

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if (!$mysqli->query(“SET a=1”)) { printf(“Errorcode: %d\n”, $mysqli->errno); } $mysqli->close(); ?>

ผลลพท

mysqli::$error_list ดงขอมลทงหมดทเกยวกบขอผดพลาด ดงขอมลทงหมดทเกยวกบขอผดพลาด

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”,”mydata”); if (!$mysqli->query(“SET a=1”)) { var_dump($mysqli->error_list); } $mysqli->close(); ?>

Page 139: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

125

ผลลพท

mysqli::$host_info ดงขอมลของเครองทใชงานค าสง เชน localhost หรอ unix ดงขอมลเกยวกบการควรครงลาสด

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”,”mydata”); $mysqli->query(“create table mydistrict like district “); $mysqli->query(“INSERT INTO mydistrict (district_name) SELECT district_name FROM district LIMIT 100 “); printf(“%s\n”, $mysqli->info); $mysqli->close(); ?>

ผลลพท

Page 140: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

126

mysqli::$info ดงขอมลเกยวกบการควรครงลาสด ดงขอมลเกยวกบการควรครงลาสด

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”,”mydata”); $mysqli->query(“create table mydistrict like district “); $mysqli->query(“INSERT INTO mydistrict (district_name) SELECT district_name FROM district LIMIT 100 “); printf(“%s\n”, $mysqli->info); $mysqli->close(); ?>

ผลลพท

mysqli::$insert_id ดงไอดของขอมลทบนทกในครงลาสด ดงไอดของขอมลทบนทกในครงลาสด

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”,”mydata”); $query = “INSERT INTO district (district_name)VALUES ( ‘Stuttgart’)”; $mysqli->query($query);

Page 141: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

127

printf (“New Record has id %d.\n”, $mysqli->insert_id); $mysqli->close(); ?>

ผลลพท

mysqli::$protocol_version ดงขอมลเวอรชนของโปรโตคอลท mysql ใช ดงขอมลเวอรชนของโปรโตคอลท mysql ใช

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”,”mydata”); printf(“Protocol version: %d\n”, $mysqli->protocol_version); $mysqli->close(); ?>

ผลลพท

Page 142: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

128

mysqli::$server_info ดงขอมลเวอรชนของ mysql server ในรปแบบของตวอกษร ดงขอมลเวอรชนของ mysql server ในรปแบบของตวอกษร

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”,”mydata”); printf(“Server version: %s\n”, $mysqli->server_info); $mysqli->close(); ?>

ผลลพท

mysqli::$server_version ดงขอมลเวอรชนของ mysql server ในรปแบบของตวเลข ดงขอมลเวอรชนของ mysql server ในรปแบบของตวอกษร

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”,”mydata”); printf(“Server version: %d\n”, $mysqli->server_version); $mysqli->close();

Page 143: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

129

?>

ผลลพท

mysqli::$sqlstate ดงขอผดพลาดของ mysql ดงขอผดพลาดของ mysql

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if (!$mysqli->query(“CREATE district City (ID INT, Name VARCHAR(30))”)) { printf(“Error - SQLSTATE %s.\n”, $mysqli->sqlstate); } $mysqli->close(); ?>

ผลลพท

Page 144: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

130

mysqli::$thread_id ดงคาไอดของโปรแกรมทสรางการเชอมตอในขณะนน ดงคาไอดของโปรแกรมทสรางการเชอมตอในขณะนน

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $thread_id = $mysqli->thread_id; echo “thread_id : “.$thread_id ; $mysqli->close(); ?>

ผลลพท

Page 145: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

131

mysqli::$warning_count ดงจ านวนการแจงเตอนของควรลาสด ดงจ านวนการแจงเตอนของควรลาสด

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $query = “INSERT INTO myDISTRICT (DISTRICT_ID) VALUES(‘Ass522’)”; $mysqli->query($query); echo “Warnings Count : “.$mysqli->warning_count ; $mysqli->close(); ?>

ผลลพท

Page 146: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

132

mysqli::change_user เปลยนบญชทใชจดการฐานขอมล เปลยนบญชทใชจดการฐานขอมล

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if ($result = $mysqli->query(“SELECT user()”)) { $row = $result->fetch_row(); printf(“Current User: %s\n”, $row[0]); $result->close(); } echo “<br>”; $mysqli->change_user(“test_1”, “1111”, “mydb”); if ($result = $mysqli->query(“SELECT user()”)) { $row = $result->fetch_row(); printf(“Change User to %s\n”, $row[0]); $result->close(); } $mysqli->close(); ?>

ผลลพท

Page 147: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

133

mysqli::character_set_name เปลยนรปแบบของ unicode แสดงคาอกขระปจจบนของ mysql

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $charset = $mysqli->character_set_name(); printf (“Current character set is %s\n”, $charset); $mysqli->close(); ?>

ผลลพท

mysqli::close ปดการเชอมตอกบฐานขอมล ปดการเชอมตอกบฐานขอมล

ตวอยาง

Page 148: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

134

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $charset = $mysqli->character_set_name(); printf (“Current character set is %s\n”, $charset); $mysqli->close(); $charset = $mysqli->character_set_name(); ?>

ผลลพท

เมอปดการเชอมตอแลว กจะมขอความขนมาบอกวาไมสามารถ ท างานไดเหมอนครงกอนแลว

mysqli::commit อนญาตใหทรานแซคชนบนทกผลการท างานลงฐานขอมล

อนญาตใหทรานแซคชนบนทกผลการท างานลงฐานขอมล

Page 149: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

135

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $mysqli->query(“INSERT INTO mydistrict SELECT FROM district LIMIT 50”); $mysqli->autocommit(false); if ($result = $mysqli->query(“SELECT COUNT() FROM mydistrict”)) { $row = $result->fetch_row(); printf(“%d rows in table mydistrict.\n”, $row[0]); //เเสดงขอมลกอน Delete $result->close(); } echo “<br>”; $mysqli->query(“DELETE FROM mydistrict”); // Delete ขอมล table mydistrict $mysqli->close(); $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if ($result = $mysqli->query(“SELECT COUNT() FROM mydistrict”)) { $row = $result->fetch_row(); printf(“%d rows in table mydistrict.(after Delete and not commit)\n”, $row[0]); // เเสดงขอมลทถก Delete ไปเเลวและไมได Commit $result->close(); } $mysqli->close(); echo “<br>”; $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if ($result = $mysqli->query(“SELECT COUNT() FROM mydistrict”)) { $row = $result->fetch_row(); printf(“%d rows in table mydistrict.\n”, $row[0]); // เเสดงขอมลกอน Delete $result->close(); } $mysqli->query(“DELETE FROM mydistrict”);// Delete ขอมล table mydistrict $mysqli->commit();// commit $mysqli->close(); echo “<br>”; $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if ($result = $mysqli->query(“SELECT COUNT(*) FROM mydistrict”)) { $row = $result->fetch_row(); printf(“%d rows in table mydistrict.(after Delete and commit)\n”, $row[0]); // เเสดงขอมลทถก Delete ไปเเลวและมการ Commit $result->close();

Page 150: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

136

} $mysqli->close(); ?>

ผลลพท

mysqli::dump_debug_info สงประวตการท างานออกเปนไฟล สงประวตการท างานออกเปนไฟล

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test_1”, “1111”, “mydb”); echo mysqli_dump_debug_info($mysqli); ?>

ผลลพท

Page 151: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

137

File mysql_error

ดานในไฟล

Page 152: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

138

mysqli::get_charset ดงขอมลรปแบบตวอกษรทใช ดงขอมลรปแบบตวอกษรทใช

ตวอยาง

<?php $db = mysqli_init(); $db->real_connect(“localhost”,”root”,”1111”,”mydb”); var_dump($db->get_charset()); ?>

ผลลพท

mysqli::get_client_info ดงขอมลเวอรชนของ mysql client ในแบบของตวอกษร ดงขอมลเวอรชนของ mysql client

Page 153: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

139

ตวอยาง

<?php printf(“Client library version: %s\n”, mysqli_get_client_info()); ?>

ผลลพท

mysqli::get_connection_stats ดงขอมลประวตการใชงานฐานขอมล ดงขอมลประวตการใชงานฐานขอมล

ตวอยาง

<?php $link = mysqli_connect(); print_r(mysqli_get_connection_stats($link)); ?>

ผลลพท

Page 154: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

140

mysqli::kill หยดการท างานของ mysql หยดการท างานของ mysql

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $thread_id = $mysqli->thread_id; $mysqli->kill($thread_id); if (!$mysqli->query(“CREATE TABLE mydistrinct2 LIKE mydistrinct”)) { printf(“Error: %s\n”, $mysqli->error); exit; } $mysqli->close(); ?>

ผลลพท

Page 155: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

141

mysqli::ping ทดสอบสถานะการท างานของ mysql ทดสอบสถานะการท างานของ mysql

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if ($mysqli->ping()) { printf (“Our connection is ok!\n”); } else { printf (“Error: %s\n”, $mysqli->error); } $mysqli->close(); ?>

ผลลพท

Page 156: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

142

mysqli::prepare จดเตรยมค าสงทจะใชควร prepare คอ ฟงกชนทใช จดเตรยมค าสงทจะใชควร

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $District_Name = “เสาชงชา”; if ($stmt = $mysqli->prepare(“SELECT District_Code FROM district WHERE District_Name=?”)) { $stmt->bind_param(“s”, $District_Name); $stmt->execute(); $stmt->bind_result($District_Code); $stmt->fetch(); printf(“%s is in district %s\n”, $District_Name, $District_Code); $stmt->close(); } $mysqli->close(); ?>

ผลลพท

Page 157: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

143

mysqli::query ท าการควรขอมล ท าการควรขอมลจาก Database

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if ( $result = $mysqli->query(“select District_name from district”) ) { printf(“Number of Record Table District : “.$result->num_rows); } $mysqli->close(); ?>

ผลลพท

Page 158: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

144

mysqli::real_connect เปดการเชอมตอกบ mysql เปดการเชอมตอกบ mysql

ตวอยาง

<?php $mysqli = mysqli_init(); if (!$mysqli->real_connect(‘localhost’, ‘root’, ‘1111’, ‘mydb’)) { die(‘Connect Error (‘ . mysqli_connect_errno() . ‘) ‘. mysqli_connect_error()); } echo ‘Success… ‘ . $mysqli->host_info . “\n”; $mysqli->close(); ?>

ผลลพท

Page 159: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

145

mysqli::real_escape_string ลบอกขระตองหามจากเงอนไขทจะใชควร ลบอกขระตองหามจากเงอนไขทจะใชควร

ตวอยาง

<?php $mysqli = mysqli_init(); $mysqli = new mysqli(“localhost”, “test1”, “1111”, “mydata”); $District_Name = “ I’m testing \n \r ‘’ “; echo $District_Name ; //ขอมลทยงไมไดใช real_escape_string echo “<br>”; if (!$mysqli->query(“INSERT into District (District_Name) VALUES (‘$District_Name’)”)) { // Insert ขอมลทยงไมไดใช real_escape_string printf(“Insert Error: %s\n”, $mysqli->sqlstate); // Error เนองจากมขอมลทไมสามารถ insert ได เชน ‘ , “ , \n , \r } echo “<br>”; $District_Name = $mysqli->real_escape_string($District_Name);

Page 160: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

146

echo $District_Name ; //ขอมลทใช real_escape_string echo “<br>”; if ($mysqli->query(“INSERT into District (District_Name) VALUES (‘$District_Name’)”)) { // Insert ขอมลทใช real_escape_string printf(“%d Row inserted.\n”, $mysqli->affected_rows); } $mysqli->close(); ?>

ผลลพท

ขอมลทถก Insert ลง mysql

Page 161: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

147

mysqli::real_query ท าการควรขอมล ท าการควรขอมล

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “test1”, “1111”, “mydata”); echo “Test Function query <br>”; $result = $mysqli->query(“SELECT tb_id , tb_name FROM mytable”) ; //echo “Test Function result “.$result -> num_rows; // ตองม function มาใชเพอเเสดงคา while ($row = $result->fetch_row()) { printf (“%s (%s)\n”, $row[0], $row[1]); echo “<br>” ; } mysqli_free_result($result); echo “<br>” ; echo “Test Function real_query <br>”; $result = $mysqli->real_query(“SELECT tb_id , tb_name FROM mytable”) ; echo “Test Function return “.$result ; // เเสดงคา True(1) หรอ Fal

Page 162: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

148

se(0) echo “<br>” ; $result = $mysqli->store_result(); while ($row = $result->fetch_row()) { printf (“%s (%s)\n”, $row[0], $row[1]); echo “<br>” ; } mysqli_free_result($result); ?>

ผลลพท

mysqli::rollback ยอนการท างานของทรานแซคชน ยอนการท างานของทรานแซคชน

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); $mysqli->autocommit(false); $mysqli->query(“INSERT INTO mydistrict SELECT FROM district LIMIT 50”);

Page 163: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

149

$mysqli->commit(); $mysqli->query(“DELETE FROM mydistrict”); if ($result = $mysqli->query(“SELECT COUNT() FROM mydistrict”)) { $row = $result->fetch_row(); printf(“%d rows in table mydistrict.\n”, $row[0]); $result->close(); } $mysqli->rollback(); if ($result = $mysqli->query(“SELECT COUNT(*) FROM mydistrict”)) { $row = $result->fetch_row(); printf(“%d rows in table mydistrict (after rollback).\n”, $row[0]); $result->close(); } $mysqli->close(); ?>

ผลลพท

mysqli::select_db เลอกฐานขอมลทจะใช เลอกฐานขอมลทจะใช

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); if ($result = $mysqli->query(“SELECT DATABASE()”)) { $row = $result->fetch_row(); printf(“Default database is %s.\n”, $row[0]);

Page 164: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

150

$result->close(); } echo “<br>”; $mysqli->select_db(“mysql”); if ($result = $mysqli->query(“SELECT DATABASE()”)) { $row = $result->fetch_row(); printf(“Default database is %s.\n”, $row[0]); $result->close(); } $mysqli->close(); ?>

ผลลพท

mysqli::set_charset ตงคารปแบบตวอกษร ตงคารปแบบตวอกษร

ตวอยาง

<?php $mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”); printf(“Initial character set: %s\n”, $mysqli->character_set_name());

Page 165: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

151

echo “<br>”; if (!$mysqli->set_charset(“utf8”)) { printf(“Error loading character set utf8: %s\n”, $mysqli->error); exit(); } else { printf(“Current character set: %s\n”, $mysqli->character_set_name()); } $mysqli->close(); ?>

ผลลพท

stat ดงขอมลแบบสถตตางๆ ของไฟล

ตวอยาง

<?php var_dump(stat(‘current.php’));

Page 166: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

152

?>

ผลลพท

Page 167: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

153

Page 168: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

154

php base64_decode ถอดรหส base64

ตวอยาง

<?php

$str = ‘VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==’;

echo base64_decode($str);

?>

ผลลพท

base64_encode เขารหสดวย base64

ตวอยาง

<?php

$str = ‘This is an encoded string’;

echo base64_encode($str);

?>

ผลลพท

Page 169: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

155

dns_get_record ดงขอมลของโดเมน คอ ฟงกชนท ใชส าหรบดงขอมลตางๆ ของโดเมน

ตวอยาง

<?php

var_dump(dns_get_record(“php.net”));

?>

ผลลพท

gethostbyname ดง ip ของโดเมน gethostbyname คอ ฟงกชนทใชดง ip โดยใชชอของเวบหรอทเรยกโดเมนเปนพารามเตอร

Page 170: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

156

ตวอยาง

<?php

var_dump(gethostbyname(‘www.facebook.com’));

?>

ผลลพท

getprotobyname-ดงคา port ทโปรโตคอลนนใช

ตวอยาง

<?php

header(‘Content-Type: text/html; charset=utf-8’);

$protocolNumber=getprotobyname(‘udp’) ;

echo “หมายเลขของ protocol udp คอ “. $protocolNumber ;

?>

ผลลพท

get_headers ดงขอมลของค ารองขอ

ตวอยาง

Page 171: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

157

<?php

$url = ‘http://www.facebook.com’;

var_dump(get_headers($url));

?>

ผลลพท

get_meta_tags-ดงขอมลในสวนของแทก meta ของหนาเวบ คอ ดงขอมลในสวนของแทก meta ของหนาเวบ ซงจะอยในแทก head ของหนาเวบนน

ตวอยาง

<?php

var_dump(get_meta_tags(‘http://www.adobe.com/‘));

?>

ผลลพท

Page 172: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

158

header สรางขอมลในสวนของ http header ใชสรางขอมลก ากบขอมลทจะสงกลบไปใหผใชงาน หรอ response โดยวธการใชงานหลากหลาย

ตวอยางท 1 การสงสถานะ 500

<?php

header(“HTTP/1.0 500 Not Found”);

?>

ผลลพท

Page 173: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

159

headers_sent ตรวจสอบวาไดสงคา header ไปหรอยง

ตวอยาง

<?php

if(headers_sent())

{ // ถาสงไปแลว echo “Please go to yahoo.com”;

}

else{

//ถายงไมไดสง header ใหไปท header(‘Location: http://yahoo.com‘);

exit;

}

?>

ผลลพท

Page 174: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

160

http_build_query สรางควรสตรง

ตวอยาง

<?php

$data = array(‘foo’=>’php’,

‘baz’=>’is’,

‘cow’=>’languge’,

‘php’=>’hypertext processor’);

echo http_build_query($data) ;

?>

ผลลพท

http_response_code ดงหรอตงคาค าตอบกลบจากเซรฟเวอร

ตวอยาง

<?php var_dump(http_response_code()); ?>

Page 175: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

161

ผลลพท จะเหนวาคาทไดกลบมาคอ 200 ทแปลวาการท างานส าเรจ

ob_clean ลบคา output buffer ob_clean คอ ฟงกชนทใชลบขอมลใน output buffer แตจะไมปดการใชงานดวย เหมอนกบฟงกชน ob_end_clean

ตวอยาง

<?php ob_start(); echo ‘Text that won\’t get displayed.’; ob_clean(); ?>

ผลลพท ไมมการแสดงคาออกมา

ob_end_clean ลบคา output buffer และปดการใชงาน ob_end_clean เปนฟงกชนใช ลบคา output buffer และปดการใชงาน

ตวอยาง

Page 176: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

162

<?php ob_start(); echo ‘Text that won\’t get displayed.’; ob_end_clean(); ?>

ผลลพท ไมมคาใดๆ ออกมาเพราะท าการลบขอมลใน buffer ออกไปแลว

parse_url ตดแบง url ออกเปนอาเรย

ตวอยาง

<?php $url = ‘https://www.google.co.th/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8‘; var_dump(parse_url($url)); ?>

ผลลพท

Page 177: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

163

rawurlencode เขารหส url ตามทก าหนด เขารหส url ตามทก าหนด

ตวอยาง

<?php echo ‘Before : foo @+%/‘; echo ‘<br>’; echo ‘After : ‘.rawurlencode(‘foo @+%/‘); ?>

ผลลพท

Page 178: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

164

syslog สรางประวตการท างาน

สรางประวตการท างาน

ตวอยาง

<?php openlog(“myscriptlog”, LOG_PID | LOG_PERROR , LOG_USER );

$access = date(“Y/m/d H s”); var_dump(syslog(LOG_INFO, “Unauthorized client: $access {$_SERVER[‘REMOTE_ADDR’]} ({$_SERVER[‘HTTP_USER_AGENT’]})”) ); closelog(); ?>

ผลลพท

เปด event viewer ขนมา จะเจอลอกทสงรนไป

Page 179: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

165

setcookie สง cookie ไปใหผใชงาน

ตวอยางท 1 การใชงานเบองตน

<?php $value = ‘Chocolate Cookie is crazy delicious’; setcookie(“TestCookie”, $value); ?>

ผลลพท

Page 180: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

166

urldecode ถอดรหสใหกบควรสตรง

ตวอยาง

<?php $before = urlencode(‘What does “yolo” mean?’); echo ‘url before decode <br>’.$before.’<br><br><br>’; $after = urldecode($before); echo ‘url after decode <br>’.$after; ?>

ผลลพท

Page 181: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

167

Page 182: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

168

Page 183: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

169

PDO::__construct การสรางออปเจคตเพอเตรยมการควร

ตวอยางการสรางออปเจคตเพอเตรยมการควร

ตวอยาง

<?php try { $dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);//PDO::__construct echo “Connection Success” ; } catch (PDOException $e) { echo ‘Connection failed: ‘ . $e->getMessage(); } ?>

ผลลพท

PDO::beginTransaction เปดการใชงานทรานแซคชน ปดการใชงาน autocommit

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$dbh->beginTransaction();

Page 184: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

170

$del = $dbh->prepare(“Insert into district ( district_name) values ( ‘Test Name’) “

);

$del->execute();

$del = $dbh->prepare(“select from district”);

$del->execute();

$count = $del->rowCount();

echo “row count : “.($count) ;// แสดงจ านวน row กอน rollback

$dbh->rollBack();

echo “

“;

$del = $dbh->prepare(“select from district”);

$del->execute();

$count = $del->rowCount();

echo “row count : “.($count) ;// แสดงจ านวน row หลง rollback ?>

ผลลพท

PDO::commit ใชส าหรบปลอยใหผลการท างานของทรานแซคชน ถกบนทก

ใชส าหรบปลอยใหผลการท างานของทรานแซคชน ถกบนทก

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$dbh2 = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$dbh->beginTransaction();

Page 185: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

171

$sth = $dbh->prepare(“Insert into district ( district_name) values ( ‘aass’) “);

$sth->execute();

$sth = $dbh->prepare(‘SELECT from district’);

$sth->execute();

$count = $sth->rowcount();

echo (“Obj1 rows count $count rows.\n”);// จ านวน Row ของ Obj1 เมอไมได commit

$sth = $dbh2->prepare(‘SELECT from district’);

$sth->execute();

$count = $sth->rowcount(); echo (“Obj2 rows count $count rows.\n”);// จ านวน Row ของ Obj2 เมอไมได commit

echo “<br>” ;

$sth = $dbh->prepare(“Insert into district ( district_name) values ( ‘aass’) “);

$sth->execute();

$sth = $dbh->prepare(‘SELECT from district’);

$sth->execute();

$count = $sth->rowcount();

echo (“Obj1 rows count $count rows.\n”); // จ านวน Row ของ Obj1 เมอ commit $dbh->commit();

$sth = $dbh2->prepare(‘SELECT from district’);

$sth->execute();

$count = $sth->rowcount();

echo (“Obj2 rows count $count rows.\n”);// จ านวน Row ของ Obj2 เมอ commit

?>

ผลลพท

Page 186: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

172

PDO::errorCode ดงรหสของขอผดพลาด

ดงรหสของขอผดพลาด

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$numRows = $dbh->exec(“DELETE FROM tesr WHERE ID between 6 and 17”);

echo “Error code : “.$dbh->errorCode();

?>

ผลลพท

PDO::errorInfo ดงขอมลเกยวกบขอผดพลาดทงหมด

ใชดงขอมลเกยวกบขอผดพลาดทงหมด

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$numRows = $dbh->exec(“DELETE FROM tesr WHERE ID between 6 and 17”);

var_dump ($dbh->errorInfo());

?>

Page 187: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

173

ผลลพท

PDO::getAvailableDrivers ดงรายชอ ฐานขอมลท PDO สนบสนน getAvailableDrivers คอ ฟงกชนทใช ดงรายชอ ฐานขอมลท PDO สนบสนน

ตวอยาง

<?php $dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’); var_dump($dbh->getAvailableDrivers()); ?>

ผลลพท

Page 188: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

174

inTransaction คอ ฟงกชนทใช ตรวจสอบวาตอนนมการใชงานทรานแซคชนอยหรอไม

คอ ฟงกชนทใช ตรวจสอบวาตอนนมการใชงานทรานแซคชนอยหรอไม

ตวอยาง

<?php echo “Autocommit off : “; var_dump($dbh->inTransaction()); echo “<br>”; echo “Set Autocommit off : “; var_dump($dbh->beginTransaction()); echo “<br>”; echo “Autocommit off : “; var_dump($dbh->inTransaction()); ?>

ผลลพท

PDO::lastInsertId ดงคาไอดของขอมลตวสดทายทไดบนทกไปในครงลาสด

lastInsertId คอ ฟงกชนทใช ดงคาไอดของขอมลตวสดทายทไดบนทกไปในครงลาสด

Page 189: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

175

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$stmt = $dbh->prepare( “ insert into district ( district_name) values ( ‘Test

Test’) “);

$stmt->execute();

$lastId = $dbh->lastInsertId();

echo “Insert Id : “.$lastId;

?>

ผลลพท

mysqli::prepare จดเตรยมค าสงทจะใชควร

prepare คอ ฟงกชนทใช จดเตรยมค าสงทจะใชควร

ตวอยาง

<?php

$mysqli = new mysqli(“localhost”, “root”, “1111”, “mydb”);

$District_Name = “เสาชงชา”; if ($stmt = $mysqli->prepare(“SELECT District_Code FROM district WHERE District_Name=

?”)) {

$stmt->bind_param(“s”, $District_Name);

$stmt->execute();

$stmt->bind_result($District_Code);

$stmt->fetch();

printf(“%s is in district %s\n”, $District_Name, $District_Code);

$stmt->close();

}

Page 190: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

176

$mysqli->close();

?>

ผลลพท

PDO::query เรมการดงขอมลจากฐานขอมล

query คอ ฟงกชนทใชเรมการดงขอมลจากฐานขอมล

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$sql = ‘SELECT district_id, district_name FROM district ORDER BY district_id’;

foreach ($dbh->query($sql) as $row) {

echo $row[‘district_id’] . “\t”;

echo $row[‘district_name’] . “\t”;

echo “<br>” ;

}

?>

ผลลพท

Page 191: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

177

PDO::quote กรองขอมลทจะบนทก

quote คอ ฟงกชนทใชใส Quote( ‘ ) เพอใชในการควร

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$string = ‘Nice’;

echo “Unquoted string: $string\n”;

echo “<br>”;

echo “Quoted string: “ . $dbh->quote($string) . “\n”;

?>

ผลลพท

Page 192: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

178

PDO::quote กรองขอมลทจะบนทก quote คอ ฟงกชนทใชใส Quote( ‘ ) เพอใชในการควร

ตวอยาง

<?php $dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’); $string = ‘Nice’; echo “Unquoted string: $string\n”; echo “<br>”; echo “Quoted string: “ . $dbh->quote($string) . “\n”; ?>

ผลลพท

PDO::rollBack ยกเลกการท าทรานแซคชน rollBack คอ ฟงกชนทใช ยกเลกการท าทรานแซคชน

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

$dbh->beginTransaction();

$del = $dbh->prepare(“Insert into district ( district_name) values ( ‘Test Name’) “

Page 193: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

179

);

$del->execute();

$del = $dbh->prepare(“select from district”);

$del->execute();

$count = $del->rowCount();

echo “row count : “.($count) ;// แสดงจ านวน row กอน rollback

$dbh->rollBack();

echo “

“;

$del = $dbh->prepare(“select from district”);

$del->execute();

$count = $del->rowCount();

echo “row count : “.($count) ;// แสดงจ านวน row หลง rollback

?>

ผลลพท

Page 194: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

180

PDOStatement::bindColumn จดการขอมลในคอลมนโดยการผกเขาไปกบตวแปร bindColumn คอ ฟงกชนทใช จดการขอมลในคอลมนโดยการผกเขาไปกบตวแปร

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’);

function readData($dbh) {

$sql = ‘SELECT distinct district_id, district_name FROM district’;

try {

$stmt = $dbh->prepare($sql);

$stmt->execute();

$stmt->bindColumn(1, $district_id);

$stmt->bindColumn(2, $district_name);

while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {

$data = “\t” . $district_id . “\t” . $district_name . “\n <br>”;

print $data;

}

}

catch (PDOException $e) {

print $e->getMessage();

}

}

readData($dbh);

?>

ผลลพท

Page 195: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

181

bindParam จดการขอมลในคอลมนโดยการผกเขาไปกบพารามเตอร แบบอางองหนวยความจ าในขณะนน

คอ ฟงกชน ทใชจดการขอมลในคอลมนโดยการผกเขาไปกบพารามเตอร แบบอางองหนวยความจ าในขณะนน

ตวอยาง

<?php

$dbh = new PDO('mysql:host=localhost;dbname=mydata', 'test1', '1111');

$district_id = 510;

$district_name = 'Asqw1';

$sth = $dbh->prepare('SELECT district_id, district_name FROM District

WHERE district_id < :district_id and district_name = :d

istrict_name'); $sth->bindParam(':district_id', $district_id, PDO::PARAM_INT);

$sth->bindParam(':district_name', $district_name, PDO::PARAM_STR, 12);

$sth->execute();

$sth->bindColumn(1, $district_id);

$sth->bindColumn(2, $district_name);

while ($row = $sth->fetch(PDO::FETCH_BOUND)) {

$data = "\t" . $district_id . "\t" . $district_name . "\n <br>";

print $data;

}

?>

ผลลพท

Page 196: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

182

PDOStatement::bindValue จดการขอมลในคอลมนโดยการผกเขาไปกบคาตายตว bindValue คอ ฟงกชนนใช จดการขอมลในคอลมนโดยการผกเขาไปกบคาตายตว

ตวอยาง

<?php

$dbh = new PDO(‘mysql:host=localhost;dbname=mydb’, ‘test_1’, ‘1111’);

$sth = $dbh->prepare(‘SELECT id, name FROM friends’);

$sth->execute();

echo “All Values<br>”; var_dump( $sth-> fetchall()); //เเสดงคาใน table friends

echo “<br><br>Test PDO::BindValue<br>”;

$district_id = 1 ; // เงอนไข where id = 1 $sth = $dbh->prepare(‘SELECT id, name FROM friends WHERE id = :d_id’);

$sth->bindValue(‘:d_id’, $district_id);

$district_id = 2 ; // เงอนไข where id = 2 $sth->execute(); var_dump($sth-> fetchall()); // จะไดคาครงแรกทระบ

?>

ผลลพท

Page 197: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

183

Page 198: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

184

Page 199: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

185

preg_replace ใชงาน regular expression ในการคนหาและแกไข

ตวอยาง

<?php

$copy_date = "Copyright 1999";

$copy_date = preg_replace("([0-9]+)", "2000", $copy_date);

print $copy_date;

?>

ผลลพท

preg_match_all ใชงาน regular expression ในการคนหา โดยคนหาจนเจอทตรงหมดทกตว

ใชงาน regular expression ในการคนหา โดยคนหาจนเจอทตรงหมดทกตว

ตวอยาง

<?php

$userinfo = “Name: <b>John Poul</b> <br> Title: <b>PHP Guru</b>”;

preg_match_all (“/<b>(.*)<\/b>/U”, $userinfo, $matches);

vat_dump($matches);

echo “<br><br> Result array all <br><br>”;

echo $matches[0][0].”<br>”;

echo $matches[0][1].”<br>”;

echo $matches[1][0].”<br>”;

Page 200: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

186

echo $matches[1][1].”<br>”;

?>

ผลลพท

preg_replace ใชงาน regular expression ในการคนหาและแกไข

ตวอยาง

<?php $copy_date = “Copyright 1999”; $copy_date = preg_replace(“([0-9]+)”, “2000”, $copy_date); print $copy_date; ?>

ผลลพท

Page 201: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

187

preg_split แบงขอความออกโดยใช regeular expression

ตวอยาง

<?php $keywords = preg_split(“/[\s,]+/“, “wordpress is popular cms”); print_r($keywords); ?>

ผลลพท

ในตวอยางใชการเวนวรรค เปนเงอนไขในการแบง

Page 202: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

188

Page 203: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

189

Page 204: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

190

str_shuffle สลบต าแหนงของตวอกษรในค า

ใชสลบต าแหนงแบบสมในตวอกษร

ตวอยาง

<?php

$str = ‘ABCDEFGH’;

$shuffled = str_shuffle($str);

echo $shuffled;

?>

ผลลพท

strtolower แปลงตวพมพใหญใหเปนตวพมพเลก

ใชส าหรบ แปลงตวพมพใหญใหเปนตวพมพเลก

ตวอยาง

<?php $str = “Hello World Man”; $str = strtolower($str); echo $str; ?>

ผลลพท

Page 205: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

191

strtoupper ใชส าหรบแปลงตวพมพเลกใหเปนตวพมพใหญ

ตวอยาง

<?php

$str = “Krissanawat Is Smart Man”;

$str = strtoupper($str);

var_dump($str);

?>

ผลลพท

str_repeat สรางค าทก าหนดตามจ านวนทก าหนด

ตวอยาง

<?php

header(“content-type: text/html; charset=UTF-8”);

echo str_repeat(“สวสดครบ <br>”, 10); ?>

Page 206: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

192

ผลลพท

str_split แปลงค าใหเปนอาเรย

ตวอยาง

<?php

$str = “Hello World”;

$arr2 = str_split($str, 3);

var_dump($arr2);

?>

ผลลพท

จะเหนวาตวอกษรโดนแยกน าไปเกบไวในคยของอาเรย โดยแบงจ านวนตวอกษรทบนทกไวแตละชอง ตามทก าหนด

Page 207: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

193

substr แยกค าในประโยคออกมาตามทก าหนด

ตวอยาง

<?php

var_dump(substr(“abcdef”,1));

var_dump(substr(“abcdef”,2));

var_dump(substr(“abcdef”,3));

?>

ผลลพท

จะเหนวาคาทดงออกมาจะ เรมจากทนบต าแหนงจนครบ ตามทก าหนด

wordwrap ตดค าเพอขนหนาใหม ใชส าหรบตดค าทยาวๆ ออกใหสนลงไป

ตวอยาง

<?php

$text = “this is a bookkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk”;

$newtext = wordwrap($text, 8, “<br />”, true);

Page 208: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

194

echo “$newtext\n”;

?>

ผลลพท

จะเหนวาค าทมจ านวนอกษรเกน 8 ตวจะถกแบงออก โดยแทกทใชขนบรรทดใหม

md5 สรางคาแฮชแบบ md5

ตวอยาง

<?php

$str = ‘Hello World PHP’;

echo md5($str);

?>

ผลลพท

Page 209: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

195

ucwords เปลยนค าแรกในประโยคใหเปนตวใหญ

ตวอยาง

<?php

$foo = ‘hello world!’;

echo ucwords($foo);

?>

ผลลพท

trim ลบชองวางในค าหรอประโยค

ตวอยาง

<?php

$text = “\t\tThese are a few words :) … “;

$binary = “\x09Example string\x0A”;

$hello = “Hello World”;

$trimmed = trim($text, “ \t.”);

var_dump($trimmed);

$trimmed = trim($hello, “Hdle”); // ใสตวทตองการกรองออกเพมเขาไปดวย var_dump($trimmed);

$trimmed = trim($hello, ‘HdWr’); // ใสตวทตองการกรองออกเพมเขาไปดวย var_dump($trimmed);

?>

ผลลพท

Page 210: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

196

htmlspecialchars ใชแสดงตวอกขระทลกษณะเปนโคด ใชแสดงตวอกขระทลกษณะเปนโคด

ตวอยางเบองตน

<?php

$new = htmlspecialchars(“<a href=’test’>Test</a>”);

echo $new;

?>

ผลลพท

โดยคาเรมตนของฟงกชนจะใชลบเครองหมาย ดบเบลโควท

Page 211: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

197

htmlentities ใชแสดงตวอกขระทลกษณะเปนโคด โดยไมตองแปลความหมาย

ตวอยาง

<?php

$str = “A ‘quote’ is <b>bold</b>”;

echo $str;

echo “<br>”;

echo htmlentities($str);

?>

ผลลพท

กอนใชงานแทก <b> จะถกแปล แต หลงใชฟงกชน จะไมถกแปล

hex2bin แปลงเลขฐานสบหกเปนตวอกษร

ตวอยาง

<?php

$hex = hex2bin("616473617364");

var_dump($hex);

?>

ผลลพท

Page 212: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

198

explode แยกตวอกษรออกตามเงอนไขทก าหนด

ตวอยาง

<?php

$input = “hello,World”;

var_dump( explode( ‘,’, $input));

?>

ผลลพท

ตวอยางนใชเครองหมายคอมมา เปนเงอนไขในการแบง

ctype_upper ตรวจสอบวาประโยคนนม เฉพาะตวพมพใหญ เทานนหรอไม

ตวอยาง

<?php

header(“content-type: text/html; charset=UTF-8”);

$strings = array(‘php 7 is awesome’, ‘Facebooklive’, ‘GOOGLE’);

foreach ($strings as $testcase) {

if (ctype_upper($testcase)) { echo “ $testcase เปนตวพมพใหญทงหมด <br>”; } else {

echo “ $testcase ไมเปนตวพมพใหญทงหมด<br>”;

Page 213: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

199

}

}

?>

ผลลพท

str_word_count นบจ านวนค าในประโยค คอ ฟงกชนทใช นบจ านวนค าในประโยค

ตวอยาง

<?php

$string = ‘This project contains a number of converters to and from different Blog

services’;

echo str_word_count($string);

?>

ผลลพท

Page 214: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

200

ctype_lower ตรวจสอบวาประโยคนนม เฉพาะตวพมพเลก เทานนหรอไม

ตวอยาง

<?php

header("content-type: text/html; charset=UTF-8");

$strings = array('php 7 is awesome', 'facebooklive', 'Alphabetic');

foreach ($strings as $testcase) {

if (ctype_digit($testcase)) {

echo " $testcase เปนตวพมพเลกทงหมด <br>";

} else {

echo " $testcase ไมเปนตวพมพเลกทงหมด<br>";

}

}

?>

ผลลพท

Page 215: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

201

ctype_digit ตรวจสอบวาประโยคนนม เฉพาะตวเลข เทานนหรอไม

ตวอยาง

<?php

header("content-type: text/html; charset=UTF-8");

$strings = array('23423Ala', '12322', 'Alphabetic');

foreach ($strings as $testcase) {

if (ctype_digit($testcase)) {

echo " $testcase เปนตวเลขทงหมด <br>";

} else {

echo " $testcase ไมเปนตวเลขทงหมด <br>";

}

}

?>

ผลลพท

Page 216: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

202

ctype_alpha ตรวจสอบวาประโยคนนเปนตวอกษร เทานนหรอไม

ตวอยาง

<?php

header("content-type: text/html; charset=UTF-8");

$strings = array('23423Ala', 'ALPHANUmeric', 'Alphabetic');

foreach ($strings as $testcase) {

if (ctype_alpha($testcase)) {

echo " $testcase อยในตวอกษรทงหมด <br>";

} else {

echo "$testcase ไมอยในตวอกษรทงหมด <br>";

}

}

?>

ผลลพท

htmlspecialchars_decode ถอดรหสตวอกขระทถกแปลงโดย htmlspecialchars ถอดรหสตวอกขระทถกแปลงโดย htmlspecialchars

ตวอยาง

Page 217: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

203

<?php

$str = “This is some <b>bold</b> text.”;

echo htmlspecialchars_decode($str);

?>

ผลลพท

implode แปลงอาเรยใหกลายเปนตวอกษร

ตวอยาง

<?php

$array = array(‘lastname’, ‘email’, ‘phone’);

$comma_separated = implode(“,”, $array);

echo $comma_separated;

?>

ผลลพท

ในตวอยางนใชเครองหมายคอมมาในการคนแบง

Page 218: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

204

lcfirst แปลงใหตวอกษรตวแรกของค ากลายเปนตวพมพเลก

ตวอยาง

<?php $foo = 'HelloWorld'; echo lcfirst($foo);

?>

ผลลพท

md5 สรางคาแฮชแบบ md5

ตวอยาง

<?php

$str = ‘Hello World PHP’;

echo md5($str);

?>

ผลลพท

Page 219: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

205

php md5_file สรางคาแฮชแบบ md5 โดยใชไฟล

ตวอยาง

<?php

$file = ‘wordpress_as_cms.ppt’;

echo ‘MD5 file hash of ‘ . $file . ‘: ‘ . md5_file($file);

?>

ผลลพท

money_format ปรบแตงใหตวเลขใหอยในรปแบบเงน ปรบแตงใหตวเลขใหอยในรปแบบเงน

ตวอยาง

<?php

$number = 1234.56;

setlocale(LC_MONETARY, 'en_US');

Page 220: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

206

echo money_format('%i', $number) . "\n";

?>

ผลลพท

nl2br ชวยเพมแทก br แทนค าสงขนบรรทดใหมเดม

ตวอยาง

<?php

echo nl2br(“Face isn’t\n Book”);

?>

ผลลพท

Page 221: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

207

number_format จดรปแบบใหตวเลข เชน ใสลกนา

ตวอยาง

<?php

echo number_format(“34345385.39”);

?>

ผลลพท

ส าหรบตวอยางเบองตน จะเปนการคนแบบองกฤษ ซงใชกนเปนสากล

ctype_alpha ตรวจสอบวาประโยคนนเปนตวอกษร เทานนหรอไม

ตวอยาง

<?php

header(“content-type: text/html; charset=UTF-8”);

$strings = array(‘23423Ala’, ‘ALPHANUmeric’, ‘Alphabetic’);

foreach ($strings as $testcase) {

if (ctype_alpha($testcase)) {

echo “ $testcase อยในตวอกษรทงหมด <br>”; } else {

echo “$testcase ไมอยในตวอกษรทงหมด <br>”; }

}

?>

Page 222: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

208

ผลลพท

strcasecmp เปรยบเทยบขอความหรอประโยค ใชการเปรยบเทยบ แบบไมสนตวพมพใหญหรอเลก หรอทเรยกวา case sensitive

ถาเทยบกนแลวไดเปน 0 คอ เทากน ถานอยกวา 0 คอตวแรกนอยกวาตวท 2 ถามากกวา 0 คอตวแรกมากกวาตวท 2

ตวอยาง

<?php

header(“content-type: text/html; charset=UTF-8”);

$var1 = “Hello”;

$var2 = “hello”;

if (strcasecmp($var1, $var2) == 0) {

echo ‘$var1 เหมอนกบ $var2 ในการเปรยบเทยบแบบ case sensitive’; }

?>

ผลลพท

Page 223: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

209

stripslashes ลบเครองหมายแบคสแลชออกจากประโยค

ตวอยาง

<?php

$str = “Is your name O\’reilly?”;

echo stripslashes($str);

?>

ผลลพท

strpos หาต าแหนงของตวอกษร ตวแรก

ตวอยาง

<?php

$mystring = ‘abc’;

$findme = ‘b’;

var_dump(strpos($mystring, $findme));

?>

ผลลพท

คาทไดคอ ต าแหนงของอกษรทอยในค าหรอ ประโยค

Page 224: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

210

ctype_digit ตรวจสอบวาประโยคนนม เฉพาะตวเลข เทานนหรอไม

ตวอยาง

<?php

header(“content-type: text/html; charset=UTF-8”);

$strings = array(‘23423Ala’, ‘12322’, ‘Alphabetic’);

foreach ($strings as $testcase) {

if (ctype_digit($testcase)) {

echo “ $testcase เปนตวเลขทงหมด <br>”; } else { echo “ $testcase ไมเปนตวเลขทงหมด <br>”; }

}

?>

ผลลพท

Page 225: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

211

strip_tags ใชลบค าทมลกษณะเปนโคด html หรอ php ออกจากประโยค

ตวอยาง

<?php

$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';

echo strip_tags($text);

?>

ผลลพท

strlen นบจ านวนของค ารวมทงชองวางดวย

ตวอยาง

<?php

$str = ‘abcdef’;

echo strlen($str); // 6

echo ‘<br>’;

$str = ‘ ab cd ‘;

echo strlen($str); // 7

?>

ผลลพท

Page 226: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

212

ctype_xdigit ตรวจสอบวาประโยคนนม เฉพาะเลขฐานสบหก เทานนหรอไม

ตวอยาง

<?php

header(“content-type: text/html; charset=UTF-8”);

$strings = array(‘AB10BC99’, ‘AR1012’, ‘ab12bc99’);

foreach ($strings as $testcase) {

if (ctype_xdigit($testcase)) {

echo “ $testcase อยในรปแบบเลขฐาน 16<br>”; } else { echo “$testcase ไมอยในรปแบบเลขฐาน 16<br>”; }

}

?>

ผลลพท

addslashes ใสเครองหมาย back slash ขางหนา predefined characters

ตวอยาง

<?php

$str = “Is your name ‘Krissanawat’?”;

Page 227: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

213

echo addslashes($str);

?>

ผลลพท

chunk_split ตดตวอกษรทรวมเปนประโยคออกเปนสวนๆ chunk_split คอ ฟงกชนทใช ตดตวอกษรทรวมเปนประโยคออกเปนสวนๆโดยพารมเตอรทจ าเปนตองใชคอ

1. คาทตองการตด 2. จ านวนของตวอกษรตอหนงชด

ตวอยาง

<?php

var_dump(chunk_split('efwoefkwpokefwkefpowkefopw',3));

?>

ผลลพท

Page 228: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

214

strstr ใชหาสตรงจากจดเรมตนทก าหนด

โครงสรางของค าสง

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

$haystack คอ ขอความสตรง $needle คอจดเรมตนการหาสตรง $before_needle คอการก าหนดวาตองการสตรงทอยกอนหนา $needle หรอ หลงจาก $needle

ตวอยาง

<?php

$email = '[email protected]';

$domain = strstr($email, '@');

echo $domain,"<br>"; // prints @example.com

$user = strstr($email, '@', true); // As of PHP 5.3.0

echo $user; // prints name

?>

Page 229: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

215

ผลลพธ

parse_url ตดแบง url ออกเปนอาเรย

ตวอยาง

<?php

$url = ‘https://www.google.co.th/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8‘

;

var_dump(parse_url($url));

?>

ผลลพท

sha1 สรางคาแฮชจากอลกอรทม sha1

ตวอยาง

<?php

$string = ‘PHP7 is Fast And High Performance’;

Page 230: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

216

echo sha1($string);

?>

ผลลพท

sha1_file สรางคาแฮชจากอลกอรทม sha1 โดยใชไฟล

ตวอยาง

<?php

$file = ‘wordpress_as_cms.ppt’;

echo ‘SHA1 file hash of ‘ . $file . ‘: ‘ . sha1_file($file);

?>

ผลลพท

Page 231: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

217

Page 232: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

218

ZipArchive::getNameIndex ฟงกชนส าหรบดงชอของไฟลทอยในไฟลซป โดยก าหนดดวยล าดบ getNameIndex คอ ฟงกชนส าหรบดงชอของไฟลทอยในไฟลซป โดยก าหนดดวยล าดบของไฟล

ตวอยาง

<?php

$zip = new ZipArchive; // สรางออบเจคตของคลาสซป if ($zip->open(‘wordpress-4.5.3.zip’) == TRUE) { // ตรวจสอบวาไฟลเปดไดไหม for ($i = 0; $i < $zip->numFiles; $i++) { // ฟงกชน numFiles ใชนบจ านวนไฟล echo $zip->getNameIndex($i);

echo “<br>”;

}

}

?>

ผลลพท

Page 233: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

219

ZipArchive::addFile ใชส าหรบเพมไฟล ลงไฟลซป addFile คอ ฟงกชนทใชเพมไฟลเขาไปในไฟลซป

พารามเตอรทส าคญ

1. ทอยของไฟล 2. ชอทจะใชเมอไฟลเขาไปอยในไฟลซป

ตวอยาง

<?php

$zip = new ZipArchive;

if ($zip->open(‘demo.zip’) === TRUE) {

$zip->addFile(‘\UniServerZ\www\index.php’,’index.php’);

$zip->close();

echo ‘ok’;

} else {

echo ‘failed’;

}

?>

ผลลพท

Page 234: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

220

ZipArchive::addFromString เพมไฟลลงไปในไฟลซปโดยสรางจากตวอกษร

ตวอยาง

<?php

$zip = new ZipArchive;

$res = $zip->open(‘test.zip’, ZipArchive::CREATE);

if ($res === TRUE) { $zip->addFromString(‘test.txt’, ‘สรางไฟลและเพมขอมลแบบ on the fly’); $zip->close();

echo ‘ok’;

} else {

echo ‘failed’;

}

?>

ผลลพท

Page 235: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

221

ZipArchive::deleteIndex ฟงกชนส าหรบลบไฟลทอยในไฟลซปโดยใชล าดบ

ตวอยาง

<?php

$zip = new ZipArchive;

if ($zip->open(‘demo.zip’) === TRUE) {

$zip->deleteIndex(2);

$zip->close();

echo ‘ok’;

} else {

echo ‘failed’;

}

?>

ผลลพท

กอนลบ

Page 236: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

222

หลงลบ

ZipArchive::deleteName ฟงกชนส าหรบลบไฟลทอยในไฟลซปโดยใชชอ deleteName เปน ฟงกชนส าหรบลบไฟลทอยในไฟลซปโดยใชชอ เปนพารามเตอร

ตวอยาง

<?php

$zip = new ZipArchive;

if ($zip->open(‘demo.zip’) === TRUE) {

$zip->deleteName(‘jquery.js’);

$zip->close();

echo ‘ok’;

} else {

echo ‘failed’;

Page 237: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

223

}

?>

ผลลพท

กอนลบ

หลงลบ

Page 238: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

224

ZipArchive::extractTo ฟงกชนส าหรบแตกไฟลซป

ตวอยาง

<?php

$zip = new ZipArchive;

if ($zip->open(‘demo.zip’) === TRUE) {

$zip->extractTo(‘tmp’);

$zip->close();

echo ‘ok’;

} else {

echo ‘failed’;

}

?>

ผลลพท

โฟลเดอรทจะคลายซป

หลงจากรนค าสง

Page 239: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

225

ZipArchive::getArchiveComment ฟงกชนส าหรบดงคอมเมนของไฟลทงหมดทอยในไฟลซป getArchiveComment คอ ฟงกชนส าหรบดงคอมเมนของไฟลทงหมดทอยในไฟลซป

ตวอยาง

<?php

$zip = new ZipArchive;

$res = $zip->open(‘demo.zip’);

if ($res === TRUE) {

var_dump($zip->getArchiveComment());

} else {

echo ‘failed, code:’ . $res;

}

?>

ผลลพท

ต าแหนงของคอมเมนทจะดง

Page 240: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

226

ผลลพท

ZipArchive::getNameIndex ฟงกชนส าหรบดงชอของไฟลทอยในไฟลซป โดยก าหนดดวยล าดบ getNameIndex คอ ฟงกชนส าหรบดงชอของไฟลทอยในไฟลซป โดยก าหนดดวยล าดบของไฟล

ตวอยาง

<?php $zip = new ZipArchive; // สรางออบเจคตของคลาสซป

if ($zip->open(‘wordpress-4.5.3.zip’) == TRUE) { // ตรวจสอบวาไฟลเปดไดไหม

for ($i = 0; $i < $zip->numFiles; $i++) { // ฟงกชน numFiles ใชนบจ านวนไฟล

echo $zip->getNameIndex($i);

echo “<br>”;

}

}

?>

ผลลพท

Page 241: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

227

Page 242: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

228

php ZipArchive::locateName ฟงกชนส าหรบดงล าดบของไฟลทอยในไฟลซป

ตวอยาง

<?php

$zip = new ZipArchive; // สรางออปเจคตของคลาสซป if ($zip->open(‘wordpress-4.5.3.zip’) == TRUE) { // ตรวจวาไฟลเปดไดไหม for ($i = 0; $i < $zip->numFiles; $i++) { // วนลปเพอนบจ านวนไฟล $name = $zip->getNameIndex($i); // ดงชอของไฟลโดยใชพารามเตอรเปนล าดบของไฟล echo $zip->locateName($name); // เอาชอดานบนกลบมาวนหาล าดบใหม echo “<br>”;

}

}

?>

ผลลพท

Page 243: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

229

php ZipArchive::open ฟงกชนส าหรบเปดไฟลซป open คอ ฟงกชนส าหรบเปดไฟลซป โดยจะคนคาเปน true ออกมาถาสามารถเปดได ถาเปดไมไดจะคนเปนรหสขอผดพลาดแทน

ตวอยาง

<?php

$zip = new ZipArchive;

$res = $zip->open(‘wordpress-4.5.3.zip’);

if ($res === TRUE) {

echo ‘ok’;

$zip->close();

} else {

echo ‘failed, code:’ . $res;

}

?>

ผลลพท

กรณส าเรจ

Page 244: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

230

ZipArchive::renameName ฟงกชนส าหรบเปลยนชอไฟลทอยในไฟลซป โดยก าหนดดวยชอ renameName คอ ฟงกชนส าหรบเปลยนชอไฟลทอยในไฟลซป โดยก าหนดดวยชอ

ตวอยาง

<?php

$zip = new ZipArchive;

$res = $zip->open(‘wordpress-4.5.3.zip’, ZipArchive::CREATE);

if ($res === TRUE) {

$zip->renameName(‘wordpress/readme.html’,’wordpress/readme-new.html’);

$zip->close();

echo ‘ok’;

} else {

echo ‘failed’;

}

?>

ผลลพท

กอนเปลยน

Page 245: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

231

หลงเปลยน

ZipArchive::setArchiveComment ฟงกชนส าหรบเพมคอมเมนใหไฟลซป setArchiveComment คอ ฟงกชนส าหรบเพมคอมเมนใหไฟลซป

ตวอยาง

<?php

setlocale(LC_ALL, ‘th_TH.UTF-8’);

$zip = new ZipArchive;

$res = $zip->open(‘wordpress-4.5.3.zip’, ZipArchive::CREATE);

if ($res === TRUE) {

$zip->setArchiveComment(‘new zip comment’);

$zip->close();

echo ‘ok’;

} else {

Page 246: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

232

echo ‘failed’;

}

?>

ผลลพท

Page 247: office-ac.comoffice-ac.com/curriculum/uploads/ง20206-work6.pdf · ค ำน ำ จุดประสงค์ในการทาหนังสือเล่มนี้คือ

233

ZipArchive::statName ฟงกชนส าหรบดงขอมลของไฟลทอยในไฟลซป โดยก าหนดดวยชอ

ตวอยาง

<?php

$zip = new ZipArchive;

$res = $zip->open(‘wordpress-4.5.3.zip’);

if ($res === TRUE) {

var_dump($zip->statName(‘wordpress/index.php’));

$zip->close();

} else {

echo ‘failed, code:’ . $res;

}

?>

ผลลพท