Page 1
ค ำน ำ จดประสงคในการท าหนงสอเลมนคอ ตองการใหมฐานขอมลเกยวกบ php ทเปน
ภาษาไทยเพอแจกจายเปนวทยาทานแก ผทสนใจคบ ปญหามนมาจากการท หลายๆ คนมกจะแอนตอะไรทเปนภาษาองกฤษ ขนมาแลว ขนชอวาเปนภาษาองกฤษขนมาแลว การศกษาจะใชเวลานานกวา การศกษาอะไรทเปนภาษาองกฤษ ยอมใชเวลานานหลายเทากวาทเปนภาษาไทย
และอกประการหนงคอ มความสามารถของ php ทเราไมรอยเปนจ านวนมาก แตดวยความเปนภาษาองกฤษนน การจะศกษาทงหมด กตองใชเวลานาน ผเขยนจงเหนวาการน าท าเปนภาษาไทย จะชวยท าใหมอใหมสามารถเรมตนไดเรวขน เมอมองเหนภาพรวมของระบบแลว กสามารถใชเครองมอไดอยางเตมประสทธภาพ
จ านวนฟงกชนทน ามาเขยนอธบายในเลมน ไมไดน ามาทงหมดเลย แตหนงสอนเปนหนงสอเกยวกบ software กจะมลกษณะเหมอนกนคอจะพฒนาไปเรอยๆ อยางทเราเหนทหนาปกทเชยนวา beta กคอหนงสอเลมน เหมอนกบโปรแกรมทท าหนาทของมนได แตหนาตายงไมสวย มฟเจอรทตองท าอกเพยบ แตแกนหลกใชไดแลว
มขอตชมหรอแนะน าอะไร ตดตอผจดท าไดท
[email protected]
Page 2
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
สารบญ
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
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
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
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
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
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
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
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
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
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
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 15
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
2
apache_get_modules ดงรายชอของโมดลทใชงานอย
ตวอยาง
<?php var_dump(apache_get_modules()); ?>
ผลลพท
Page 17
3
apache_getenv ดงขอมลตางๆ ของ Apache
ตวอยาง
<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>
ผลลพท
Page 19
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
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
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
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
9
array_search - คนหาคยทตองการ คอ ฟงกชนทใชคนหาคยทเราตองการ
ตวอยางท 1 การใชงานเบองตน
<?php $array = array(0 => ‘blue’, 1 => ‘red’, 2 => ‘green’, 3 => ‘red’); echo array_search(‘green’, $array); ?>
ผลลพท
Page 24
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
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
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
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
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
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
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
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
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
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
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
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 38
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 54
40
cal_info ดงขอมลระบบปฏทนทระบบใชอย
ตวอยาง
<?php $info = cal_info(0); var_dump($info); ?>
ผลลพท
Page 55
41
date สรางขอมลวนเวลา ใชเพอรบคาวน เวลา ในรปแบบ string
ตวอยาง
<?php echo date(‘d M y’);
Page 56
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
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
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
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
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
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
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
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
50
DateTimeZone::getLocation ดงคาทอยของผใชงาน เชน ละตจด,ลองตจด
ตวอยาง
<?php $tz = new DateTimeZone(“Asia/Bangkok”); var_dump($tz->getLocation()); ?>
ผลลพท
DateTimeZone::getName ดงคาชอของเขตเวลานน getName คอ ฟงกชนทใชดงชอของเขตเวลาจากออปเจคตของคลาส DateTimeZone
ตวอยาง
Page 65
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
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
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
54
time แสดงขอมลของวนเวลาปจจบน
แสดงขอมลของวนเวลาปจจบน
ตวอยาง
<?php echo time(); echo “<br>” ; echo date(‘Y-m-d’,time()); ?>
ผลลพท
Page 69
55
strtotime รบคาเวลาของวนเวลาตาม string ทใสมาเปนพารามเตอร รบคาเวลาของวนเวลาตาม string ทใสเปนพารามเตอร
ตวอยาง
<?php echo strtotime(“now”), “\n <br>”; echo strtotime(“10 September 2000”), “\n <br>”; echo strtotime(“+1 day”), “\n <br>”; ?>
ผลลพท
Page 71
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
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
59
DirectoryIterator::getExtension ดงนามสกลของไฟล
ตวอยาง
<?php $dir = new DirectoryIterator(dirname(FILE)); foreach ($dir as $fileinfo) { echo $fileinfo->getExtension() . “<br>”; } ?>
Page 74
60
ผลลพท
DirectoryIterator::getFilename ดงชอของไฟล
ตวอยาง
Page 75
61
<?php $dir = new DirectoryIterator(dirname(FILE)); foreach ($dir as $fileinfo) { echo $fileinfo->getFilename() . “<br>”; } ?>
ผลลพท
DirectoryIterator::getMTime แสดงเวลาทมการแกไข แตละไฟลท path ปจจบน แสดงเวลาทมการแกไขแตละไฟลท path ปจจบน
ตวอยาง
Page 76
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
63
echo mimecontenttype(‘index.php’); ?>
ผลลพท
DirectoryIterator::getPath แสดง path ปจจบน แสดง path ปจจบน
ตวอยาง
<?php $iterator = new DirectoryIterator(dirname(FILE)); echo $iterator->getPath(); ?>
ผลลพท
DirectoryIterator::getPathname แสดง path เเละชอไฟล ปจจบน
แสดง path เเละชอไฟล ปจจบน
Page 78
64
ตวอยาง
<?php $iterator = new DirectoryIterator(dirname(FILE)); foreach ($iterator as $fileinfo) { echo $fileinfo->getPathname() . “\n <br>”; } ?>
ผลลพท
—————
DirectoryIterator::getPerms แสดงสทธการใชงานแตละไฟลใน path ปจจบน แสดงสทธการใชงานแตละไฟลใน path ปจจบน
ตวอยาง
Page 79
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
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
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
68
DirectoryIterator::isReadable ตรวจวาไฟลสามารถอานไดหรอไม
ตวอยาง
<?php $iterator = new DirectoryIterator(dirname(FILE)); foreach ($iterator as $fileinfo) { if ($fileinfo->isReadable()) { echo $fileinfo->getFilename() . “<br>”; } } ?>
ผลลพท
Page 83
69
DirectoryIterator::isWritable ตรวจวาไฟลสามารถเขยนไดหรอไม
ตวอยาง
<?php $iterator = new DirectoryIterator(dirname(FILE)); foreach ($iterator as $fileinfo) { if ($fileinfo->isWritable()) { echo $fileinfo->getFilename() . “ is writeable<br>”; } } ?>
Page 84
70
ผลลพท
DirectoryIterator::key ดงล าดบไฟล
ตวอยาง
<?php $dir = new DirectoryIterator(dirname(‘C:/‘)); foreach ($dir as $fileinfo) { if (!$fileinfo->isDot()) { echo $fileinfo->key() . “ => “ .$fileinfo->getFilename().“<br>”; } } ?>
Page 85
71
ผลลพท
DirectoryIterator::next เลอนพอยเตอรไปยงไฟลถดไป
ตวอยาง
<?php $iterator = new DirectoryIterator(dirname(FILE)); echo ‘กอนเลอน ‘.$iterator->key().’<br>’; $iterator->next(); echo ‘หลงจากเลอน ‘.$iterator->key();
Page 86
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
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
74
ผลลพท
—————
disk_total_space ดงคาขนาดของไดร
ตวอยาง
<?php $ds = disk_total_space(“C:”); //ใน windows $dz = disk_total_space(“/“); //ใน linux echo $ds; ?>
ผลลพท
Page 89
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
76
?>
ผลลพท
fileperms ดงคาสทธในการแกไขไฟลนน
ตวอยาง
<?php echo substr(sprintf(‘%o’, fileperms(‘chdir.php’)), -4); ?>
ผลลพท
—————
filesize ดงขอมลขนาดของไฟล
ตวอยาง
<?php $filename = ‘my_file.txt’; echo $filename . ‘: ‘ . filesize($filename) . ‘ bytes’; ?>
Page 91
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
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
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
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
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
82
getcwd ฟงกชน ดงชอโฟลเดอรปจจบนทถกใชงานอย ฟงกชน ดงชอโฟลเดอรปจจบนทถกใชงานอย
ตวอยาง
<?php echo getcwd(); ?>
ผลลพท
—————
Page 97
83
glob คนหาไฟลโดยใชรปแบบทก าหนด glob คอ ฟงกชนทใช คนหาไฟลโดยใชรปแบบทก าหนด
ตวอยาง ท 1 การคนหาตามนามสกล
<?php foreach (glob(“*.php”) as $filename) { echo “$filename <br>”; } ?>
ผลลพท
is_dir ตรวจวาเปนโฟลเดอรหรอไม ฟงกชนทใชตรวจวาเปนโฟลเดอรหรอไม
ตวอยาง
จะเหนวา เราทดสอบโดยใชไฟล gettype.php และโฟลเดอร directory
Page 98
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
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
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
87
ตวอยาง
<?php if ($handle = opendir(‘.’)) { while (false !== ($entry = readdir($handle))) { if ($entry != “.” && $entry != “..”) { echo “$entry “; } } closedir($handle); } ?>
ผลลพท
realpath ดงคาเสนทางแบบเตมๆออกมา แสดงขอมล path ในเครอง
ตวอยาง
<?php echo realpath(‘.’); ?>
Page 102
88
ผลลพท
scandir ดงรายฃอของไฟลและโฟลเดอร
ตวอยาง
<?php $dir = ‘/tmp’; var_dump(scandir($dir)); ?>
ผลลพท
Page 103
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 106
92
die หยดการท างานของระบบ die คอฟงกชนทใชหยดการท างานของโคด
ตวอยาง
<?php echo ‘before die’; die(); echo ‘after die’; ?>
ผลลพท
connection_aborted ตรวจสอบวาฝงผใชงานตดการเชอมตอแลวหรอยง
ตวอยาง
<?php echo connection_aborted(); ?>
ผลลพท
ถาเปน 1 แปลวาการเชอมตอขาดไปแลว ถาเปน 0 แสดงวายงเชอมตอไดอย
Page 107
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
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
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
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
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
98
ผลลพท
phpinfo ดงขอมลการตงคาของ php ทงหมด
ตวอยาง
<?php echo phpinfo(); ?>
ผลลพท
Page 113
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
100
ผลลพท
sys_get_temp_dir ดงคาทอยของโฟลเดอรทเกบไฟล temp
ตวอยาง
<?php echo sys_get_temp_dir(); ?>
ผลลพท
version_compare เปรยบเทยบ version ของ php เปรยบเทยบ Version ของ php
Page 115
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
102
uniqid สรางคาทไมซากน
ตวอยาง
<?php var_dump(uniqid()); ?>
ผลลพท
Page 118
104
hash สรางคาทผานการเขา รหสแบบถอดกลบไมได
ตวอยาง
<?php echo hash(‘md5’, ‘test test’); ?>
ผลลพท
hash_algos - แสดงลสรายชอของอลกอรทมทใชในการเขารหส ใชแสดงลสรายชอของอลกอรทมทใชในการเขารหส
ตวอยางท 1
<?php
var_dump(hash_algos());
?>
Page 119
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
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
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
108
password_hash ฟงกชนส าหรบสรางรหสผานดวยการ hash รปแบบการเขารหสม 2 ตวคอ
1. PASSWORD_DEFAULT - เปนการใชอลกอรทมทตงเปนคาเรมตนในระบบ 2. PASSWORD_BCRYPT - เปนการใชอลกอรทม bcrypt
ตวอยาง
<?php echo password_hash(“krissanawat”, PASSWORD_DEFAULT); ?>
ผลลพท
Page 123
109
random_int ฟงกชนใชส าหรบสรางเลขแบบสม คอ ฟงกชนใชส าหรบสรางเลขแบบสม
ตวอยาง
<?php
echo(random_int(100, 999)).'<br>';
echo(random_int(100, 999)).'<br>';
echo(random_int(100, 999));
?>
ผลลพท
Page 125
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 128
114
abs สรางคาสมบรณ
ตวอยาง
<?php
var_dump(abs(-32));
?>
ผลลพท
rand ใชสมคาทเปนตวเลข
ตวอยาง
<?php
var_dump(rand());
?>
ผลลพท
Page 129
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
116
pi ดงคาของพาย
ตวอยาง
<?php
var_dump( pi());
?>
ผลลพท
log หาคาลอการทม
ตวอยาง
<?php
var_dump(log(10));
?>
ผลลพท
max หาคาทมากทสด
ตวอยาง
Page 131
117
<?php
echo ‘คาทมากทสดคอ ‘.max(2, 3, 1, 6, 7).’<br>’; // 7 echo ‘คาทมากทสด คอ ‘. max(array(2, 4, 5)); // 5 ?>
ผลลพท
Page 133
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
136
} $mysqli->close(); ?>
ผลลพท
mysqli::dump_debug_info สงประวตการท างานออกเปนไฟล สงประวตการท างานออกเปนไฟล
ตวอยาง
<?php $mysqli = new mysqli(“localhost”, “test_1”, “1111”, “mydb”); echo mysqli_dump_debug_info($mysqli); ?>
ผลลพท
Page 151
137
File mysql_error
ดานในไฟล
Page 152
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
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
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
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
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
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
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
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
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
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
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
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
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
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 168
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
155
dns_get_record ดงขอมลของโดเมน คอ ฟงกชนท ใชส าหรบดงขอมลตางๆ ของโดเมน
ตวอยาง
<?php
var_dump(dns_get_record(“php.net”));
?>
ผลลพท
gethostbyname ดง ip ของโดเมน gethostbyname คอ ฟงกชนทใชดง ip โดยใชชอของเวบหรอทเรยกโดเมนเปนพารามเตอร
Page 170
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
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
158
header สรางขอมลในสวนของ http header ใชสรางขอมลก ากบขอมลทจะสงกลบไปใหผใชงาน หรอ response โดยวธการใชงานหลากหลาย
ตวอยางท 1 การสงสถานะ 500
<?php
header(“HTTP/1.0 500 Not Found”);
?>
ผลลพท
Page 173
159
headers_sent ตรวจสอบวาไดสงคา header ไปหรอยง
ตวอยาง
<?php
if(headers_sent())
{ // ถาสงไปแลว echo “Please go to yahoo.com”;
}
else{
//ถายงไมไดสง header ใหไปท header(‘Location: http://yahoo.com‘);
exit;
}
?>
ผลลพท
Page 174
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
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
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
163
rawurlencode เขารหส url ตามทก าหนด เขารหส url ตามทก าหนด
ตวอยาง
<?php echo ‘Before : foo @+%/‘; echo ‘<br>’; echo ‘After : ‘.rawurlencode(‘foo @+%/‘); ?>
ผลลพท
Page 178
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
165
setcookie สง cookie ไปใหผใชงาน
ตวอยางท 1 การใชงานเบองตน
<?php $value = ‘Chocolate Cookie is crazy delicious’; setcookie(“TestCookie”, $value); ?>
ผลลพท
Page 180
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 183
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
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
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
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
173
ผลลพท
PDO::getAvailableDrivers ดงรายชอ ฐานขอมลท PDO สนบสนน getAvailableDrivers คอ ฟงกชนทใช ดงรายชอ ฐานขอมลท PDO สนบสนน
ตวอยาง
<?php $dbh = new PDO(‘mysql:host=localhost;dbname=mydata’, ‘test1’, ‘1111’); var_dump($dbh->getAvailableDrivers()); ?>
ผลลพท
Page 188
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
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
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
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
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
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
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
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
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 199
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
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
187
preg_split แบงขอความออกโดยใช regeular expression
ตวอยาง
<?php $keywords = preg_split(“/[\s,]+/“, “wordpress is popular cms”); print_r($keywords); ?>
ผลลพท
ในตวอยางใชการเวนวรรค เปนเงอนไขในการแบง
Page 204
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
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
192
ผลลพท
str_split แปลงค าใหเปนอาเรย
ตวอยาง
<?php
$str = “Hello World”;
$arr2 = str_split($str, 3);
var_dump($arr2);
?>
ผลลพท
จะเหนวาตวอกษรโดนแยกน าไปเกบไวในคยของอาเรย โดยแบงจ านวนตวอกษรทบนทกไวแตละชอง ตามทก าหนด
Page 207
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
194
echo “$newtext\n”;
?>
ผลลพท
จะเหนวาค าทมจ านวนอกษรเกน 8 ตวจะถกแบงออก โดยแทกทใชขนบรรทดใหม
md5 สรางคาแฮชแบบ md5
ตวอยาง
<?php
$str = ‘Hello World PHP’;
echo md5($str);
?>
ผลลพท
Page 209
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
196
htmlspecialchars ใชแสดงตวอกขระทลกษณะเปนโคด ใชแสดงตวอกขระทลกษณะเปนโคด
ตวอยางเบองตน
<?php
$new = htmlspecialchars(“<a href=’test’>Test</a>”);
echo $new;
?>
ผลลพท
โดยคาเรมตนของฟงกชนจะใชลบเครองหมาย ดบเบลโควท
Page 211
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
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
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
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
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
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
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
204
lcfirst แปลงใหตวอกษรตวแรกของค ากลายเปนตวพมพเลก
ตวอยาง
<?php $foo = 'HelloWorld'; echo lcfirst($foo);
?>
ผลลพท
md5 สรางคาแฮชแบบ md5
ตวอยาง
<?php
$str = ‘Hello World PHP’;
echo md5($str);
?>
ผลลพท
Page 219
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
206
echo money_format('%i', $number) . "\n";
?>
ผลลพท
nl2br ชวยเพมแทก br แทนค าสงขนบรรทดใหมเดม
ตวอยาง
<?php
echo nl2br(“Face isn’t\n Book”);
?>
ผลลพท
Page 221
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
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
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
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
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
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
213
echo addslashes($str);
?>
ผลลพท
chunk_split ตดตวอกษรทรวมเปนประโยคออกเปนสวนๆ chunk_split คอ ฟงกชนทใช ตดตวอกษรทรวมเปนประโยคออกเปนสวนๆโดยพารมเตอรทจ าเปนตองใชคอ
1. คาทตองการตด 2. จ านวนของตวอกษรตอหนงชด
ตวอยาง
<?php
var_dump(chunk_split('efwoefkwpokefwkefpowkefopw',3));
?>
ผลลพท
Page 228
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
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
216
echo sha1($string);
?>
ผลลพท
sha1_file สรางคาแฮชจากอลกอรทม sha1 โดยใชไฟล
ตวอยาง
<?php
$file = ‘wordpress_as_cms.ppt’;
echo ‘SHA1 file hash of ‘ . $file . ‘: ‘ . sha1_file($file);
?>
ผลลพท
Page 232
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
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
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
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
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
223
}
?>
ผลลพท
กอนลบ
หลงลบ
Page 238
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
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
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 242
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
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
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
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
232
echo ‘failed’;
}
?>
ผลลพท
Page 247
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;
}
?>
ผลลพท