รวม Snippets
การค้นหาและแทนค่าข้อมูลในฐานข้อมูล mysql
UPDATE `table_name` SET `field_name` = REPLACE(`field_name`, "http://www.ninenik.com", "https://www.ninenik.com");
ใช้ htaccess กำหนดให้ลิ้งค์ไปยังหน้า maintenance
กรณีที่เรามีการปรับปรุงหรือเพิ่มประสิทธิภาพเว็บไซต์ และต้องไม่การให้
ผู้ใช้งานเข้าใช้งานได้ในช่วงระยะเวลาหนึ่ง เพื่อจะได้ทำการปรับปรุงเว็บไซต์
เราสามารถสร้างหน้าแจ้งการปรับปรุงเว็บไซต์ หรือที่เรียกว่า maintenance
page ขึ้นมา จากนั้นใช้กำหนดใน ทุกๆ การเรียกใช้งานจะถึงลิ้งค์มายังแจ้ง
รายละเอียด การปรับปรุงเว็บไซต์ ซึ่งอาจจะแจ้งข้อมูลสำหรับติดต่อ กรณีมีความ
จำเป็นด่วนไว้ด้วยก็ได้ แนวทาง คือสร้างไฟล์เพจ หน้าแจ้งการปรับปรุงเว็บไซต์ จาก
นั้นใช้ htaccess กำหนดการลิ้งค์มาด้วยคำสั่งดังนี้
# MAINTENANCE-PAGE REDIRECT <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REMOTE_ADDR} !^123.456.789.000 RewriteCond %{REMOTE_ADDR} !^123.456.789.000 RewriteCond %{REMOTE_ADDR} !^123.456.789.000 RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.html [R=302,L] </IfModule>
กรณีที่เราต้องการยกเว้น หรือให้เฉพาะบางโฟลเดอร์สามารถยังใช้งานได้ ก็กำหนดส่วน
ที่ต้องการยกเว้นเข้าไป สมมติเช่น เรายังให้สามารถเข้าใช้งานหน้า /dashboard ได้
ก็จะเพิ่มเข้าไปเป็นดังนี้
# MAINTENANCE-PAGE REDIRECT <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REMOTE_ADDR} !^123.456.789.000 RewriteCond %{REMOTE_ADDR} !^123.456.789.000 RewriteCond %{REMOTE_ADDR} !^123.456.789.000 RewriteCond %{REQUEST_URI} !^/dashboard [NC] RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.html [R=302,L] </IfModule>
php ฟังก์ชั่น ตรวจสอบว่ามี url ในข้อความหรือไม่
ใช้สำหรับตรวจสอบว่าข้อความนั้นๆ มีลิ้งค์ url ทั้งที่แบบมี http https และรูปแบบอื่นๆ ในลักษณะการอ้างอิงถึงลิ้งค์ของเว็บไซต์ต่างๆ อยู่ในข้อความนั้นๆ หรือไม่ ถ้าคืนค่าเป็น 1 พรือ true แสดงว่ามี สามารถนำไปประยุกต์ในการสร้างเงื่อนไขการทำงานได้
<?php function urldetect($str){ $regex = "((https?|ftp)://)?"; // SCHEME $regex .= "([a-z0-9+!*(),;?&=\$_.-]+(:[a-z0-9+!*(),;?&=\$_.-]+)?@)?"; // User and Pass $regex .= "([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))"; // Host or IP address $regex .= "(:[0-9]{2,5})?"; // Port $regex .= "(/([a-z0-9+\$_%-]\.?)+)*/?"; // Path $regex .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+/\$_.-]*)?"; // GET Query $regex .= "(#[a-z_.-][a-z0-9+$%_.-]*)?"; // Anchor return preg_match("~^$regex$~i", $str, $m); } // สมมติมีการส่งค่ามาผ่าน url มาแล้วเราต้องการตรวจสอบว่ามีลิ้งค์ หรือ url หรือไม่ if(urldetect($_GET['keyword'])){ header("Location:notfound.html"); exit; } ?>
คำสั่ง JavaScript ดึงรูปจาก Facebook Album
แนวทางการใช้งาน จะใช้ผ่าน console ของ dev tool
โดยเปิดไปหน้ารูปรวมของ album ที่ต้องการ จากนั้น เลื่อน scrollbar เพื่อแสดง
รายการรูปทั้งหมด
var urlStr = ""; // ตัวแปรเก็บ url รายการลิ้งค์ของรูป var n_i = document.querySelectorAll("a[href*='photo.php']").length; // จำนวนรูปจากการนับ var n_i = 5; // จำนวนรูปจากการกำหนด var n_v = 0; // ตำแหน่งเริ่มของรูป function getImg(n_v){ if(n_v<n_i){ document.querySelectorAll("a[href*='photo.php']")[n_v].click(); setTimeout(function(){ if(document.querySelectorAll("img[data-visualcompletion='media-vc-image']").length>0){ urlStr += '<img src="'; urlStr += document.querySelectorAll("img[data-visualcompletion='media-vc-image']")[0].src; urlStr += '">'; urlStr += '\r\n'; document.querySelectorAll("div[aria-label='Close']")[0].click(); } n_v++; setTimeout(function(){ getImg(n_v); },500); },1000); }else{ console.log(urlStr); } } getImg(n_v);
หลังจากได้รายการรูป นำไปสร้าง HTML แท็ก image จากนั้นใช้โปรแกรมโหลดจาก url รูป
เข้ารหัส HTML สำหรับส่งค่าใน URL ด้วย PHP และ JavaScript
แนวทางทั้งสอง ใช้สำหรับเข้ารหัสหรือจัดรูปแบบของ HTML ให้สามารถ
ส่งค่าผ่าน url ไปใช้งานได้
PHP
urlencode(htmlentities("<strong>Title</strong>etc etc"));
JavaScript
function htmlentity(rawStr){ return encodeURIComponent(rawStr.replace(/[\u00A0-\u9999<>\&]/gim, function(i) { return '&#'+i.charCodeAt(0)+';'; })); } htmlentity("<strong>Title</strong>etc etc");
แนวทาง คำสั่ง SQL เรียงข้อมูลภาษาไทย และภาษาอังกฤษในฟิลด์เดียวกัน
ตารางข้อมูลตัวอย่าง
CREATE TABLE tbl (`id` int, `data` varchar(9)) ; INSERT INTO tbl (`id`, `data`) VALUES (1, 'ภาษาไทย'), (2, 'English'), (3, 'การศึกษา'), (4, 'Education') ;
คำสั่ง SQL
(SELECT a.data,'th' lang FROM tbl a WHERE NOT a.data REGEXP '[A-Za-z0-9]' ) UNION ALL (SELECT b.data,'en' lang FROM tbl b WHERE b.data REGEXP '[A-Za-z0-9]' ) ORDER BY lang DESC,CONVERT(data using tis620) ASC
ผลลัพธ์
ใช้ htaccess แทนไฟล์รูปภาพที่ไม่พบ หรือไม่มี ด้วยภาพอื่น
วิธีนี้ใช้สำหรับกรณีเราไม่ต้องการเขียนโค้ด หากไม่พบไฟล์รูปที่จะแสดง ให้เอารูปอื่นมาแสดงแทน
ให้เราสร้างรูปสำหรับไว้แทนที่ไว้ที่ path ใดสักที่สมมติเช่นเป็น images และรูปที่เราเก็บอยู่ในโฟลเดอร์
uploads ให้เราสร้างไฟล์ .htaccess แล้วอัพไปไว้ที่โฟลเดอร์รูปหลัก ในที่นี้คือ uploads
แล้วกำหนดไฟล์ ดังนี้
ไฟล์ .htaccess
RewriteEngine on RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteRule \.(gif|jpe?g|png|bmp) /images/photoreplace.jpg [NC,L]
สมมติถ้าเรียกไปที่ไฟล์รูปที่ไม่มี เช่น https://www.example.com/uploads/notpic.jpg
รูปจะไปดึงจากไฟล์ https://www.example.com/images/photoreplace.jpg มาแสดงแทน
-
หมวดบทความทั้งหมด 31 AJAX Learning 25 Android Learning 46 Angular 16 AngularJs 21 Bootstrap 40 CodeIgniter 27 CodeIgniter 4 50 CSS Learning 16 Dart 8 Dev Tools 19 Expressjs 4 Firebase 42 Flutter 20 HTML5 10 Ionic Native 42 Ionicframework 83 Javascript Learning 235 jQuery Learning 10 jQuery Mobile 18 Line Dev 34 MySQL Learning 2 NodeJs 14 OpenCart 4 OpenCart 3 19 Phonegap 202 PHP Learning 0 Slim 1 Web Service 5 อื่นๆ
- ถามปัญหาการเขียนโปรแกรม
- jquery นับจำนวนเลือก radio array อย่างน้อย 1 ตัว แต่ไม่เกิน 3 ตอบ 10 อ่าน 402
- จำนวนสัปดาห์ของแต่ละเดือนไม่ตรงจำนวนสัปดาห์ทั้งปี ตอบ 1 อ่าน 434
- ออกรายงานสรุปด้วยกราฟครับ ขอคำแนะนำ แนวทางด้วยครับ ตอบ 2 อ่าน 498
- ส่งค่าที่เป็นเท้กบ๊อกอาเรย์จากการเลือก ไปไม่ได้ครับ ตอบ 3 อ่าน 468
- ขอวิธีการดึงข่าว RSS Feed ด้วย PHP จากเว็บไซต์อื่นมาแสดง โดยที่เปิดลิงก์เป็น URL เว็บไซต์ของเรา ตอบ 1 อ่าน 548
- ส่งค่าตัวแปรอีกตัวนึง ในฟังก์ชั่น ajax ตอบ 3 อ่าน 611
- สอบถามเกี่ยวกับวิธีเขียน upload file ไปยัง domain อื่นหน่อยครับ ตอบ 1 อ่าน 909
- วิธีการส่งค่าวันที่ โดยการคลิ๊กเลือกวันที่นั้นๆ จากปฏิทิน fullcalendar ตอบ 1 อ่าน 1150
- ขอตัวอย่าง Flutter insert to mysql ตอบ 1 อ่าน 1042
- ช่วยหน่อยครับติดปัญหาเกี่ยวกับการเขียน array หลายชั่นครับ ตอบ 1 อ่าน 951
- ตอบคำถามกลับล่าสุด
- ช่วยหน่อยครับ ติดปัญหาเกี่ยวกับการเปิด pdf บน server จริงครับ (HTTP error 500) ตอบ 3 อ่าน 2247
- ทำโปรเจค laravel อยากทำ api login line google ตอบ 1 อ่าน 836
- TCPDF บางเครื่องเรียกได้ บางเครื่องเรียกไม่ได้ ทั้งที่เป็น windows 10 และ Chrome version เดียวกัน ตอบ 1 อ่าน 620
- สอบถามการใช้งาน PhpSpreadsheet ป้องกัน Workbook ด้วยรหัสผ่าน ตอบ 4 อ่าน 854
- ช่วยด้วยค่ะ พอดีเขียนโค้ดแล้วลองอัพโหลดไฟล์ภาพลงไป แต่ไม่มีไฟล์ภาพขึ้นในฐานข้อมูล ต้องแก้ยังไงค่ะ ตอบ 1 อ่าน 843
- หลังจากอัพเกรด Apache 2.4.56 และ PHP 8.0 แล้ว LINE SDK ไม่สามารถใช้ฟังก์ชั่น push message ครับ ตอบ 2 อ่าน 720
- สอบถามวิธีการเขียน 1 page เพื่อรองรับการเข้าใช้งานพร้อมกัน ตอบ 2 อ่าน 1049
ขอบคุณทุกการสนับสนุน