$fcv = str_replace(array("\r\n", "\r", "\n"), "", $fcv);
เราสามารถที่จะตรวจสอบความถูกต้องของข้อมูล JSON ได้โดยทำการ Validate ด้วยเว็บไซต์นี้ครับ http://jsonlint.com
Monday, November 12, 2012
PHP : การลบ Line Break ออกจาก String
ปัญหานี้เกิดขึ้นเมื่อตอนที่ต้องการจัดรูปแบบข้อมูล PHP ให้เป็น JSON แต่บังเอิญว่าใน String นั้นมีการขึ้นบรรทัดใหม่ ทำให้ข้อมูล JSON นั้นผิดพลาด จึงต้องจัดการใส่ฟังก์ชั่นเข้าไปเพื่อลบการขึ้นบรรทัดใหม่ (Line Break) ตัวอย่างดังนี้ครับ
Friday, November 9, 2012
ใส่ลูกน้ำ (Comma) ให้กับข้อมูลตัวเลขด้วย JavaScript
การแสดงผลข้อมูลตัวเลข ในกรณีที่ต้องทำการคำนวณด้วย และจะต้องมีการจัดรูปแบบของตัวเลขให้ดูง่ายจะต้องใส่ลูกน้ำ , คั่นระหว่างหลักพัน หลักล้าน หลักพันล้าน ฯลฯ หรืออะไรก็แล้วแต่ เรามีฟังก์ชั่นที่จะสามารถจัดรูปแบบตัวเลขนี้โดย JavaScript ดังนี้ครับ
function addCommas(nStr){
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
จากตัวอย่าง จะเป็นการแยกทศนิยมออกมาก่อน จากนั้นให้ Regulat Expression โดยนับจากท้ายจำนวน 3 หลักแล้วใส่ลูกน้ำเข้าไป ง่ายดายมาก ๆ
Tuesday, November 6, 2012
ดึงรูปโพรไฟล์จาก Instagram ด้วย PHP ง่ายนิดเดียว
Instagram เป็น Social Media ที่ได้รับความนิยมอักอันหนึ่ง ซึ่งเหล่าบรรดาไฮโซไฮซ้อ ดารา นักแสดง เซเล็บ(ตีนหมา) รวมถึงประชาชีทั้งหลายที่มีโทรศัพท์หรือแท็ปเล็ตที่ใช้ระบบปฏิบัติการ Android และ iOS ก็นิยมเล่นกัน โดยเว็บไซต์ฮิต ๆ ในไทย ไม่ว่าจะเป็น kapook , manager , mthai และอะไรต่อมิอะไรมากมาย เรามาดูวิธีการดึงรูปโพรไฟล์จาก ig แบบง่าย ๆ กัน ดังนี้
function getIgProfilePic($iguser) {
$file_str = file_get_contents('http://followgram.me/' . $iguser);
$html = new DOMDocument();
$html->loadHTML($file_str);
$img = $html->getElementsByTagName('img');
return $img->item(1)->getAttribute('src');
}
ฟังก์ชั่นนี้จะใช้วีธีการไปดูดโค้ด HTML จากเว็บ followgram.me มาแล้วนำมาเรียบเรียงด้วยคลาส DOMDocument จากนั้นก็ return ค่า attribute src ของภาพที่ 2 (index ที่ 1) ออกมานั่นเอง ง่ายป่ะ อิอิ
Thursday, November 1, 2012
กำจัด BBCode ในข้อมูล PHP
เราสามารถจำกัดแท็ก HTML ที่อยู่ปะปนกับ String ในข้อมูล PHP ได้ โดยการใช้งานคำสั่ง strip_tags แต่ถ้าเป็น BBCode ที่นิยมใช้กันในเว็บบอร์ดสำเร็จรูปต่าง ๆ ทั้งหลายนั้น เราจะต้องเขียนฟังก์ชั่นขึ้นมาเพื่อกำจัด BBcode เหล่านั้น ซึ่งทาง codeinw เราก็มีฟังก์ชั่นสำหรับการนี้ให้ทุกท่านได้นำไปใช้ ดังนี้ครับ
function stripBBCode($text_to_search) {
$pattern = '|[[\/\!]*?[^\[\]]*?]|si';
$replace = '';
return preg_replace($pattern, $replace, $text_to_search);
}
จากฟัง์ชั่นนี้เป็นการใช้ Regular Expression ในการตรวจสอบจุดเริ่มต้นและจุดสิ้นสุดของ BBCode ที่จะเริ่มต้นด้วย [ และสิ้นสุดด้วย ] โดยจะแทนที่ส่วนของ BBcode ด้วย String ว่าง ๆ นั่นเองครับ
Monday, October 29, 2012
PHP : Oracle ORA-06550 Error แก้อย่างไรดี ???
ปัญหาข้อผิดพลาดของการเขียนโค้ด PHP Oracle นี้คือ ตอนเขียน ociparse ในส่วนที่เป็นคำสั่ง SQL ที่ CALL Procedure นั้นจะต้องไม่ขึ้นบรรทัดใหม่ครับ
ตัวอย่างคำสั่ง
Warning: ociexecute() [function.ociexecute]: ORA-06550: บรรทัด 1 คอลัมน์ 206: PLS-00103: พบสัญลักษณ์ "" เมื่อต้องการค่าต่อไปนี้: begin case declare end exception exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe สัญลักษณ์ "" ไม่ได้ประมวลผล in C:\AppServ\www\testtab\_get_payment_detail.php on line 25
$stmt = ociparse($conn,"begin tbb_management_pck.get_payment_detail(:in_receipt_id,:out_account_num,:out_invoice_num,:out_vat_mny,:out_inc_vat_mny,:out_wt_mny,:out_total_mny,:out_cursor1,:out_cursor2,:out_status,:out_exception); end;");เมื่อแก้ไขแล้วโปรแกรมก็จะสามารถทำงานตามปกติ
Wednesday, October 3, 2012
วิธีการเซ็ต Virtual Host ใน Apache ที่ติดตั้งด้วย AppServ
1. แก้ไขไฟล์ C:\AppServ\Apache2.2\conf\httpd.conf
2. เพิ่มไดเร็คทีฟ Directory ลงไปดังนี้
3. แก้ไขไฟล์ C:\AppServ\Apache2.2\conf\extra\httpd-vhosts.conf
เพิ่มข้อมูลลงไปดังนี้
4. แก้ไขไฟล์ C:\Windows\System32\drivers\etc\hosts (ไม่มีนามสกุลไฟล์) ดังนี้
5. Restart Apache หรือถ้า Restart เครื่องไปเลย ฮิฮิ
... # Virtual hostsเอาเครื่องหมาย # หน้า Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-vhosts.conf
2. เพิ่มไดเร็คทีฟ Directory ลงไปดังนี้
... <Directory "D:/wpdev"> Order allow,deny Allow from all </Directory>เสร็จแล้ว save ไฟล์ซะ
3. แก้ไขไฟล์ C:\AppServ\Apache2.2\conf\extra\httpd-vhosts.conf
เพิ่มข้อมูลลงไปดังนี้
... <VirtualHost *:80> DocumentRoot "D:/wpdev" ServerName wpdev </VirtualHost>เสร็จแล้วบันทึกไฟล์
4. แก้ไขไฟล์ C:\Windows\System32\drivers\etc\hosts (ไม่มีนามสกุลไฟล์) ดังนี้
... 127.0.0.1 wpdevเสร็จแล้วบันทึกไฟล์
5. Restart Apache หรือถ้า Restart เครื่องไปเลย ฮิฮิ
Thursday, September 20, 2012
หาชื่อ MySQL DB ปัจจุบันที่ใช้งานอยู่
ในบางที่ เราเขียนโค้ด PHP ทำงานกับฐานข้อมูลหลาย ๆ ตัวจนไม่รู้ว่าปัจจุบันเรากำลัง connect กับฐานข้อมูลก้อนไหนอยู่ บางครั้งเขียน Query ไปเท่าไรข้อมูลก็ไม่ยอมออกมา อาจเป็นเป็นเพราะว่าเราเชื่อมต่อกับฐานข้อมูลก้อนอื่นอยู่ก็เป็นได้
วันนี้ codeinw มีทางออกให้กับท่าน โดยการนำฟังก์ชั่นนี้ไปใช้กันเลยครับ
วันนี้ codeinw มีทางออกให้กับท่าน โดยการนำฟังก์ชั่นนี้ไปใช้กันเลยครับ
function mysql_current_db() {
$r = mysql_query("SELECT DATABASE()") or die(mysql_error());
return mysql_result($r,0);
}
echo "Current DB :" . mysql_current_db();
ขอให้มีความสุขกับการเขียนโปรแกรมกันทุกท่านครับ ฮิฮิ
Tuesday, September 18, 2012
URL Rewrite ฉบับง๊าย ง่าย
ตัวอย่างง่าย ๆ ในการเขียน URL Rewrite เบื้องต้นนี้ ให้เราสร้างไฟล์ .htaccess ขึ้นมาดังนี้
RewriteEngine On RewriteRule ^([a-zA-Z_0-9\-]+)$ c.php?chap=$1 RewriteRule ^([a-zA-Z_0-9\-]+)/([a-zA-Z_0-9\-]+)$ s.php?chap=$1&page=$2เมื่อสร้างขึ้นมาแล้ว Statement แรกของเราก็คือ จะเรียกไปที่ไฟล์ c.php โดยนำค่าที่รับเข้ามาจาก url ไปเป็นตัวแปร chap นั่นเอง ส่วน Statement ถัดมาก็เป็นการแยกตัวแปรที่ส่งมาโดยใช้เครื่องหมาย / คั่นเพื่อแบ่งตัวแปรออกเป็นสองตัวนั่นเอง
Friday, September 7, 2012
ปัญหาของการ Encode ภาษาไทยใน MySQL
ลองหาวิธีในการแก้ปัญหาเกี่ยวกับการเข้ารหัส (Encode) ภาษาไทยของ MySQL วิธีการบางอย่างสามารถใช้ได้กับบาง Server ทำให้เกิดความสับสนและปวดหัวอย่างมาก วันนี้มีอีกหนึ่งวิธีการมานำเสนอครับ เผื่อใครนำไปใช้อาจได้ผล
mysql_query("SET character_set_results=latin1");
mysql_query("SET character_set_connection=latin1");
ขอขอบคุณที่ติดตามอ่านกันนะครับ
Thursday, September 6, 2012
การเพิ่มคอลัมน์ ให้กับ TABLE ในฐานข้อมูล MySQL
วิธีการเพิ่มคอลัมน์ให้กับตาราง ด้วยคำสั่ง SQL สามารถเขียนได้ดังนี้ครับ
ALTER TABLE fanpage ADD COLUMN redirect_url varchar(512) AFTER content;จากคำสั่งข้างต้นนี้ เป็นการเพิ่มคอลัมน์ (ฟิลด์) ใหม่เข้าไปในตาราง fanpage โดยเพิ่มคอลัมน์ชื่อว่า redirect_url ซึ่งมีชนิดข้อมูลเป็น varchar ความยาว 512 โดยวางไว้หลังคอลัมน์ content ครับ
Wednesday, May 30, 2012
ฟังก์ชั่นแปลง encode จาก tis620 เป็น utf8
ปัญหาเรื่องของการ Encode ภาษาไทยมักสร้างความปวดกระโหลกให้กับบรรดาโปรแกรมเมอร์มือใหม่และมือเก่า โดยเฉพาะใน PHP วันนี้ขอนำเสนออีกหนึ่งวิธีการ นั่นคือ ฟังก์ชั่นการแปลงรหัส tis620 เป็น utf8 ลองนำไปใช้กันดูครับอาจจะแก้ปัญหาที่ท่านกำลังประสพอยู่ก็เป็นได้ อิอิ
function tis620_to_utf8($text) {
$utf8 = "";
for ($i = 0; $i < strlen($text); $i++) {
$a = substr($text, $i, 1);
$val = ord($a);
if ($val < 0x80) {
$utf8 .= $a;
} elseif ((0xA1 <= $val && $val < 0xDA) || (0xDF <= $val && $val <= 0xFB)) {
$unicode = 0x0E00+$val-0xA0;
$utf8 .= chr(0xE0 | ($unicode >> 12));
$utf8 .= chr(0x80 | (($unicode >> 6) & 0x3F));
$utf8 .= chr(0x80 | ($unicode & 0x3F));
}
}
return $utf8;
}
จากฟังก์ชั่นข้างต้นนี้เป็นการแนะนำข้อความแต่ละอักขระในรูปแบบ tis620 มาเทียบกับรหัสในรูปแบบ utf8 แล้วส่งคืนค่ากลับครับ
Thursday, April 26, 2012
โฟลเดอร์ล่องหน !!!
วิธีการซ่อนโฟลเดอร์แบบล่องหน
1. ขณะตั้งชื่อโฟลเดอร์ ให้กดคีย์ alt ค้างไว้ แล้วกดตัวเลข 0160 แล้วปล่อย
2. เปลี่ยนไอคอนของโฟลเดอร์นั้นให้เ็ป็นแบบใส
1. ขณะตั้งชื่อโฟลเดอร์ ให้กดคีย์ alt ค้างไว้ แล้วกดตัวเลข 0160 แล้วปล่อย
2. เปลี่ยนไอคอนของโฟลเดอร์นั้นให้เ็ป็นแบบใส
Wednesday, April 25, 2012
การใช้ LIMIT ใน MySQL Stored Procedure
โดยปกติแล้ว เราจะไม่สามารถส่งค่า LIMIT เข้าไปใน Procedure ได้โดยตรงเนื่องจาก LIMIT จะไม่รับค่าที่เป็นตัวแปร ดังนั้นจึงต้องทำเช่นนี้
DELIMITER $$
DROP PROCEDURE IF EXISTS `danupon`.`ZPO` $$
CREATE PROCEDURE `danupon`.`ZPO` (
IN LIM INT
)
BEGIN
SET @SQL = CONCAT("SELECT * FROM CLIPS LIMIT ",LIM);
PREPARE STMT FROM @SQL;
EXECUTE STMT;
END $$
DELIMITER ;
เพียงเท่านี้ เราก็จะสามารถส่งค่า LIMIT เข้าไปใน Parameter ของ Procedure ได้
Wednesday, February 1, 2012
การบล็อค IP ด้วยไฟล์ .htaccess
ถ้าหากเว็บไซต์ของเราถูกโจมตีโดยพวกเกรียนทั้งหลาย เราสามารถบล็อค IP ของพวกมันไม่ให้มารบกวนเว็บของเราได้อีกด้วยการเขียนคำสั่งต่อไปนี้ แล้วบันทึกไฟล์เป็น .htaccess แล้วนำไปวางที่ root path ของเว็บไซต์เรา
order allow,deny deny from 10.11.212.134 deny from 119.28.59.63 allow from allจากตัวอย่างข้างต้นนี้ นั้นคือการป้องกันไม่ให้ IP 10.11.212.134 และ 119.28.59.63 เข้ามาเปิดเว็บไซต์ในเครื่องของเราได้ ซึ่งไฟล์ .htaccess นี้มีสรรพคุณที่วิเศษอย่างหนึ่งคือ เมื่อเรานำไฟล์ไปวางไว้ที่ root path แล้วมันจะสำแดงอิทธิฤทธิ์ทันทีโดยที่เราไม่ต้องไป Restart Service ของเว็บเซิฟเวอร์แต่อย่างใด
Subscribe to:
Comments (Atom)