Kiến thức là vô biên, vì vậy hãy chia sẻ nó. Trên đây là một số công cụ và source mình sưu tầm được. Mong là nó sẽ hữu ích đối với bạn !
Code Google
Thứ Tư, 25 tháng 12, 2013
Plugin sublime text : Bracket Highlighter Đánh dấu
Plugin sublime text : Bracket Highlighter Đánh dấu
Thứ Ba, 17 tháng 12, 2013
Thứ Hai, 16 tháng 12, 2013
Thứ Bảy, 14 tháng 12, 2013
jquery ajax + php
Lấy database với ajax
$(document).delegate("#json", "pageinit", function() { $(".manda").click(function(e) { $.ajax({ url : "json1.php", dataType : "json", data : '{"opc":"sim"}', success : function(data){ var html = ""; for($i=0; $i < data.length; $i++){ html += "<strong>Nome:</strong> "+data[$i].nome +" "+ data[$i].sobreNome; html += " <strong>Cidade:</strong> "+data[$i].cidade html += "<br />"; } $("#mostra").html(html); } }); return false; }); });
<?php if ($_POST['opc'] == "sim"){ $var = Array( array( "nome"=>"João", "sobreNome"=>"Silva", "cidade"=>"Maringá" ), array( "nome"=>"Ana", "sobreNome"=>"Rocha", "cidade"=>"Londrina" ), array( "nome"=>"Véra", "sobreNome"=>"Valério", "cidade"=>"Cianorte" )); echo json_encode($var); } ?>
Upload file với ajax
<!DOCTYPE html>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form id="form" method="post" action="post.php" enctype="multipart/form-data">
<input type="file" name="img"/>
<input type="submit" value="Upload" />
</form>
<script src="jquery.js"></script>
<script src="upload.js"></script>
</body>
</html>
<?php
if($_FILES['img']['error'] > 0) die('Error ' . $_FILES['file']['error']);
if(empty($_FILES['img']['name'])) die('No file sent.');
$tmp = $_FILES['img']['tmp_name'];
if(is_uploaded_file($tmp))
{
if(!move_uploaded_file($tmp, 'img.png')) echo 'error !';
}
else echo 'Upload failed !';
?>
$(function() {
$('#form').submit(function(e) {
e.preventDefault();
data = new FormData($('#form')[0]);
console.log('Submitting');
$.ajax({
type: 'POST',
url: 'post.php',
data: data,
cache: false,
contentType: false,
processData: false
}).done(function(data) {
console.log(data);
}).fail(function(jqXHR,status, errorThrown) {
console.log(errorThrown);
console.log(jqXHR.responseText);
console.log(jqXHR.status);
});
});
});
Thứ Ba, 10 tháng 12, 2013
Button top jquery
=========== HTML ===========
<div class="button_top"></div>
=========== CSS ===========
.button_top {
background: url("../images/top_png.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
bottom: 70px;
height: 70px;
position: fixed;
right: 22px;
width: 70px;
display: none;
cursor: pointer;
}
=========== JS ===========
var offset = 220;
var duration = 500;
$(window).scroll(function() {
console.log($(window).width());
if($(window).width()<1190){
$(".button_top").remove();
}
if ($(this).scrollTop() > offset) {
$('.button_top').fadeIn(duration);
} else {
$('.button_top').fadeOut(duration);
}
});
$(".button_top").click(function(event){
event.preventDefault();
$('html, body').animate({scrollTop: 0}, duration);
return false;
});
<div class="button_top"></div>
=========== CSS ===========
.button_top {
background: url("../images/top_png.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
bottom: 70px;
height: 70px;
position: fixed;
right: 22px;
width: 70px;
display: none;
cursor: pointer;
}
=========== JS ===========
var offset = 220;
var duration = 500;
$(window).scroll(function() {
console.log($(window).width());
if($(window).width()<1190){
$(".button_top").remove();
}
if ($(this).scrollTop() > offset) {
$('.button_top').fadeIn(duration);
} else {
$('.button_top').fadeOut(duration);
}
});
$(".button_top").click(function(event){
event.preventDefault();
$('html, body').animate({scrollTop: 0}, duration);
return false;
});
Thứ Sáu, 6 tháng 12, 2013
Truyền chuỗi vào biến
$path_server="Nội dung biến";
$son="path_server";
echo ${$son};
// Output
Nội dung biến
$son="path_server";
echo ${$son};
// Output
Nội dung biến
Lấy tin từ trang web khác
/****************************
*
* Lấy tin từ trang web khác
*
*laytin_banh($url_array)
*
****************************/
function laytin_banh($url_array){
print_r($url_array);
$data=array();
$j=0;
for($i=0;$i<sizeof($url_array);$i++){
$html = $this->curl_get($url_array[$i]);
foreach ($html->find(".normal") as $link){
echo "<h1>".$j."</h2>";
$html2 = str_get_html($link->innertext);
foreach ($html2->find(".price") as $link2){
$data[$j]["price"]=$link2->innertext;
}
foreach ($html2->find(".info>a") as $link2){
$data[$j]["title"]=$link2->innertext;
}
foreach ($html2->find(".picture img") as $link2){
$data[$j]["src"]=$link2->src;
}
$html2->clear();
echo "<pre>";
print_r($data[$j]);
echo "</pre>";
$j++;
}
$html->clear();
}
file_put_contents("banhbong_lan_new.json", json_encode($data));
}
/******************************
* Lấy Html bằng phương thức cURL (Rất nhanh và hiệu quả)
*
* curl_get($url)
*
*******************************/
function curl_get($url){
$cookie = tmpfile();
$userAgent = 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31' ;
$ch = curl_init($url);
$options = array(
CURLOPT_CONNECTTIMEOUT => 20 ,
CURLOPT_USERAGENT => $userAgent,
CURLOPT_AUTOREFERER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_COOKIEFILE => $cookie,
CURLOPT_COOKIEJAR => $cookie ,
CURLOPT_SSL_VERIFYPEER => 0 ,
CURLOPT_SSL_VERIFYHOST => 0
);
curl_setopt_array($ch, $options);
$kl = curl_exec($ch);
curl_close($ch);
$dom=str_get_html($kl);
return $dom;
}
*
* Lấy tin từ trang web khác
*
*laytin_banh($url_array)
*
****************************/
function laytin_banh($url_array){
print_r($url_array);
$data=array();
$j=0;
for($i=0;$i<sizeof($url_array);$i++){
$html = $this->curl_get($url_array[$i]);
foreach ($html->find(".normal") as $link){
echo "<h1>".$j."</h2>";
$html2 = str_get_html($link->innertext);
foreach ($html2->find(".price") as $link2){
$data[$j]["price"]=$link2->innertext;
}
foreach ($html2->find(".info>a") as $link2){
$data[$j]["title"]=$link2->innertext;
}
foreach ($html2->find(".picture img") as $link2){
$data[$j]["src"]=$link2->src;
}
$html2->clear();
echo "<pre>";
print_r($data[$j]);
echo "</pre>";
$j++;
}
$html->clear();
}
file_put_contents("banhbong_lan_new.json", json_encode($data));
}
/******************************
* Lấy Html bằng phương thức cURL (Rất nhanh và hiệu quả)
*
* curl_get($url)
*
*******************************/
function curl_get($url){
$cookie = tmpfile();
$userAgent = 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31' ;
$ch = curl_init($url);
$options = array(
CURLOPT_CONNECTTIMEOUT => 20 ,
CURLOPT_USERAGENT => $userAgent,
CURLOPT_AUTOREFERER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_COOKIEFILE => $cookie,
CURLOPT_COOKIEJAR => $cookie ,
CURLOPT_SSL_VERIFYPEER => 0 ,
CURLOPT_SSL_VERIFYHOST => 0
);
curl_setopt_array($ch, $options);
$kl = curl_exec($ch);
curl_close($ch);
$dom=str_get_html($kl);
return $dom;
}
Thứ Năm, 5 tháng 12, 2013
Thứ Ba, 3 tháng 12, 2013
PHP - Function SEO - Gắn tag vào str + Nhận dạng cụm từ trong câu
function strallpos($pajar, $aguja, $offset=0, &$count=null) {
if ($offset > strlen($pajar)) trigger_error("strallpos(): Offset not contained in string.", E_USER_WARNING);
$match = array();
for ($count=0; (($pos = strpos($pajar, $aguja, $offset)) !== false); $count++) {
$match[] = $pos;
$offset = $pos + strlen($aguja);
}
return $match;
}
function phathien_str($str,$needs){
$str_posss=strallpos($str,$needs);
return $str_posss;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Title Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CSS -->
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body><div class="container">
<h1 class="text-center">Hello World</h1>
<?php
$str = '
Mình thấy trên triệu đồng mạng có dòng điện thoại Samsung Galaxy Note 3 N9002 triệu đồng Dual 16 GB, nhưng không biết là sử dụng có tốt không.
Nghe nói triệu đồng là dòng điện thoại triệu đồng này dùng 2 sim mà chỉ sản xuất cho Trung Quốc thôi. Mình đang tìm hiểu tính mua con triệu đồng này, những
ai đã sử dụng qua xin tư triệu đồng vấn giúp, giá mình thấý khoảng 18,5 triệu đồng, không biết là có đắt quá không?
';
$str=str_replace("triệu đồng", "<a href='http://vus.vn'>triệu đồng</a>", $str);
echo $str;
echo "<pre>";
print_r(phathien_str($str,"triệu đồng"));
echo "</pre>";
?></div>
<!-- jQuery -->
<script src="//code.jquery.com/jquery.js"></script>
<!-- Bootstrap JavaScript -->
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
</body>
</html>
<?php
die ('deptrai');
PHP - function strallpos Lấy vị trí chuỗi ra mảng
function strallpos($pajar, $aguja, $offset=0, &$count=null) {
if ($offset > strlen($pajar)) trigger_error("strallpos(): Offset not contained in string.", E_USER_WARNING);
$match = array();
for ($count=0; (($pos = strpos($pajar, $aguja, $offset)) !== false); $count++) {
$match[] = $pos;
$offset = $pos + strlen($aguja);
}
return $match;
}
if ($offset > strlen($pajar)) trigger_error("strallpos(): Offset not contained in string.", E_USER_WARNING);
$match = array();
for ($count=0; (($pos = strpos($pajar, $aguja, $offset)) !== false); $count++) {
$match[] = $pos;
$offset = $pos + strlen($aguja);
}
return $match;
}
Php - Tạo xml sitemap động theo dữ liệu !
<?php
header('Content-type: application/xml');
require_once '../common/settings.php'; // database settings
require_once PROJECT_PATH . '/lib/php_adodb_v5.18/adodb.inc.php';
require_once PROJECT_PATH . '/lib/small_blog_v0.8.0/smallblog.php'; // custom blogging engine
require_once PROJECT_PATH . '/lib/utils/utils.php'; // utility functions: date_decode, now
// configuration
$url_prefix = 'http://www.pontikis.net/blog/';
$blog_timezone = 'UTC';
$timezone_offset = '+00:00';
$W3C_datetime_format_php = 'Y-m-d\Th:i:s'; // See http://www.w3.org/TR/NOTE-datetime
$null_sitemap = '<urlset><url><loc></loc></url></urlset>';
$blog = new smallblog(); // custom blogging engine
$res = $blog->db_connect($blog_db_settings);
if($res === false) {
echo $null_sitemap;
exit; // Database connection error...
} else {
// get all posts meta-data
$posts = $blog->getPosts(0, 0, '', '', '', now($blog_timezone));
if($posts === false) {
echo $null_sitemap;
exit; // Error retreiving posts...
}
$len = count($posts);
for($i = 0; $i < $len; $i++) {
// entities encode URL according http://www.sitemaps.org/protocol.html#escaping
$posts[$i]['url'] = $url_prefix . htmlspecialchars($posts[$i]['url']);
// convert dates to W3C datetime format http://www.sitemaps.org/protocol.html#xmlTagDefinitions
$posts[$i]['date_updated'] = date_decode($posts[$i]['date_updated'], $blog_timezone, $W3C_datetime_format_php) . $timezone_offset;
}
// retrieve max date
$max_date = $posts[0]['date_updated'];
}
$output = '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
$output .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
echo $output;
?>
<url>
<loc>http://www.pontikis.net/blog/</loc>
<lastmod><?php print $max_date ?></lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>http://www.pontikis.net/blog/archive/</loc>
<lastmod><?php print $max_date ?></lastmod>
<changefreq>daily</changefreq>
</url>
<?php for($i = 0; $i < $len; $i++) { ?>
<url>
<loc><?php print $posts[$i]['url'] ?></loc>
<lastmod><?php print $posts[$i]['date_updated'] ?></lastmod>
</url>
<?php } ?>
</urlset>
Thứ Hai, 2 tháng 12, 2013
Class zip folder backup !
<?php
class Backup_folder{
function backup_folder_ele($folder_file_backup,$folder_want_backup){
if(!isset($folder_file_backup)) return false;
if(!isset($folder_want_backup)) return false;
if(true){
$zip = new ZipArchive;
$zip->open($folder_file_backup.'/file_'.time().'.zip', ZipArchive::CREATE);
if (false !== ($dir = opendir($folder_want_backup)))
{
while (false !== ($file = readdir($dir)))
{
if ($file != '.' && $file != '..')
{
$zip->addFile($folder_want_backup.DIRECTORY_SEPARATOR.$file);
//delete if need
//if($file!=='important.txt')
//unlink($path.DIRECTORY_SEPARATOR.$file);
}
}
}
else
{
die('Can\'t read dir');
}
$zip->close();
}
}
}
?>
Chủ Nhật, 1 tháng 12, 2013
function htmlspecialchars
function htmlspecialchars
string htmlspecialchars
( string $string
[, int $flags
= ENT_COMPAT | ENT_HTML401
[, string $encoding
= 'UTF-8'
[, bool $double_encode
= true
]]] )
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>?>
Thứ Bảy, 30 tháng 11, 2013
function stripslashes
Link site: http://us1.php.net/stripslashes
stripslashes
(PHP 4, PHP 5)
Descriptio
string stripslashes
( string
$str
)
Un-quotes a quoted string.
Note:
If magic_quotes_sybase is on, no backslashes are stripped off but two apostrophes are replaced by one instead.
An example use of stripslashes() is when the PHP
directive magic_quotes_gpc
is on (it was on by default before PHP 5.4), and you aren't inserting
this data into a place (such as a database) that requires escaping.
For example, if you're simply outputting data straight from an HTML form.
<?phpfunction stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);
return $value;
}// Example$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));$array = stripslashes_deep($array);// Outputprint_r($array);?>
Thứ Năm, 28 tháng 11, 2013
Placehold.it - Lấy hình theo kích thước và màu sắc
Website: www.placehold.it
Hướng dẫn:
Hướng dẫn:
Hình kích thước 500 x 300 màu xám
<img src='http://placehold.it/552x384'>
Hình kích thước 500 x 300 màu trắng
<img src='http://placehold.it/552x384/fff'>
Thứ Tư, 27 tháng 11, 2013
Nâng cấp input editor bằng tinymce
LINK DOWNLOAD: http://www.mediafire.com/?zgo2mcde34slzwl
Cau hinh tinmce
===========
tinymce.init({
convert_urls: false,
relative_urls: false,
selector: "textarea.input_text_vihan",
theme: "modern",
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table contextmenu directionality",
"emoticons template paste textcolor filemanager"
],
content_css: "http://vuslkasdjfl.com/vasdf.css",
style_formats: [
{title: 'Bold text', inline: 'b'},
{title: 'Red text', inline: 'span', styles: {color: '#ff0000'}},
{title: 'Red header', block: 'h1', styles: {color: '#ff0000'}},
{title: 'Example 1', inline: 'span', classes: 'example1'},
{title: 'Example 2', inline: 'span', classes: 'example2'},
{title: 'sondeptrai 2', inline: 'span', classes: 'sondeptrai2'},
{title: 'sondeptrai', inline: 'span', classes: 'sondeptrai'},
{title: 'Table styles'},
{title: 'Table row 1', selector: 'tr', classes: 'tablerow1'}
],
toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent ",
toolbar2: "print preview media | forecolor backcolor emoticons | link image",
image_advtab: true,
templates: [
{title: 'Test template 1', content: 'Test 1'},
{title: 'Test template 2', content: 'Test 2'}
]
});
Cau hinh tinmce
===========
tinymce.init({
convert_urls: false,
relative_urls: false,
selector: "textarea.input_text_vihan",
theme: "modern",
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table contextmenu directionality",
"emoticons template paste textcolor filemanager"
],
content_css: "http://vuslkasdjfl.com/vasdf.css",
style_formats: [
{title: 'Bold text', inline: 'b'},
{title: 'Red text', inline: 'span', styles: {color: '#ff0000'}},
{title: 'Red header', block: 'h1', styles: {color: '#ff0000'}},
{title: 'Example 1', inline: 'span', classes: 'example1'},
{title: 'Example 2', inline: 'span', classes: 'example2'},
{title: 'sondeptrai 2', inline: 'span', classes: 'sondeptrai2'},
{title: 'sondeptrai', inline: 'span', classes: 'sondeptrai'},
{title: 'Table styles'},
{title: 'Table row 1', selector: 'tr', classes: 'tablerow1'}
],
toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent ",
toolbar2: "print preview media | forecolor backcolor emoticons | link image",
image_advtab: true,
templates: [
{title: 'Test template 1', content: 'Test 1'},
{title: 'Test template 2', content: 'Test 2'}
]
});
Thứ Ba, 26 tháng 11, 2013
Chống sql injection cho php với hàm mysql_real_escape_string()
mysql_real_escape_string
SQL injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp, Sql injection có thể cho phép những kẻ tấn công thực hiện các thao tác, delete, insert, update,… trên cơ sỡ dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy, lỗi này thường xãy ra trên các ứng dụng web có dữ liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase...
Một ví dụ về SQL Injection
<?php
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";
echo $query;
?>
Câu lệnh truyền lên server sẽ là :
SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''
Tài liệu tham khảo:
http://kythuatlaptrinh.com/noi-dung/chong-sql-injection-cho-php-voi-ham-mysql-real-escape-string.html
http://php.net/manual/en/function.mysql-real-escape-string.php
Thứ Tư, 20 tháng 11, 2013
Lập trình hướng đối tượng trong PHP 5 ( PHP OOP )
Lập trình hướng đối tượng:
- Lấy đối tượng là nền tảng
- Tìm những đối tượng có sẵn hoặc xây dựng những đối tượng
- Sau đó kết hợp với nhau để giải quyết vấn đề
- Xây dựng những đối tượng mã lệnh có liên hệ khắn khít với đối tượng của thế giới thực
Ví dụ 3: Game bóng đá:
- Game bóng đá là một chương trình rất lớn chắc chắn nếu bạn muốn
làm nó bạn phải xây dựng nó trên mô hình hướng đối tượng. Vậy việc đầu
tiên của trước khi xây dựng game này bạn cần xác định các đối tượng
chính của game
- Những đối tượng chính của game mà bạn có thể dễ dàng nhìn thấy như:
o Câu lạc bộ
o Sân vận động
o Giải thi đấu
o Cầu thủ
o Huấn luyện viên
o Cổ động viên…
- Trong một ứng dụng lớn như game bóng đá các bạn sẽ thấy xuất hiện
rất nhiều đối tượng. Chúng ta sẽ phân tích thử một đối tượng trong game
đó là đối tượng con người.
- Con người là một lớp chính trong game từ đối tượng ‘con người’
chúng ta sẽ mở rộng ra các đối khác như cầu thủ, trọng tài, huấn luyện
viên, cổ động viên…
- Đơn giản hóa việc phát triển các chương trình
- Giúp tạo ra những chương trình có tính mềm dẻo và linh động cao (Khi sửa chữa bảo trì, nâng cấp dể dàng)
Thứ Hai, 18 tháng 11, 2013
Một em lâu la của codeignitor em ấy mang tên go cart !
Chủ Nhật, 17 tháng 11, 2013
Codeigniter Framework - Bài 1
Hôm nay rảnh rỗi nghiên cứu cái framework mới thấy cũng hay hay. vs mô hình mvc (Mẹ và Con)
Codeigniter là một framework mã nguồn mở viết bằng ngôn ngữ php với mô hình Model View Controler cấu trúc hướng đối tượng.
Model
class Page_model extends CI_Model{
public function get_page($p=null){
$query = $this->db->get('pages');
if ($query->num_rows() > 0){
return $query->result();
}
return FALSE;
}
}
Controler
class Welcome extends CI_Controller {
public function index()
{
$this->load->model('page_model');
$data["bien_truyen_view"]=$this->page_model->get_page();
$this->load->view('home',$data);
}
}
View
echo $bien_truyen_view;
Ngoài ra codeisnitor còn hỗ trợ rất nhiều phương thức tương tác với cơ sở dữ liệu thông qua active record khá tiện dụng
Ví dụ:
Muốn view một bảng ra chỉ cần
$this->db->get("user");
= với query truy vấn $this->db->query("select * from user");
Tương tự với insert, update và delete record ngoài ra còn rất nhiều phương thức khác liên quan tới database.
Xem link bên dưới
** http://ellislab.com/codeigniter/user-guide/database/active_record.html
Thư viện class của codeignitor rất phong phú được chia vào các
Class Reference
Benchmarking Class
Calendar Class
Cart Class
Config Class
Email Class
Encryption Class
File Uploading Class
Form Validation Class
FTP Class
HTML Table Class
Image Manipulation Class
Input Class
Javascript Class
Loader Class
Language Class
Migration Class
Output Class
Pagination Class
Security Class
Session Class
Trackback Class
Template Parser Class
Typography Class
Unit Testing Class
URI Class
User Agent Class
XML-RPC Class
Zip Encoding Class
Chúng ta sẽ tìm hiểu những thành phần này rõ và kỹ hơn ở những mục tiếp theo.
Codeigniter là một framework mã nguồn mở viết bằng ngôn ngữ php với mô hình Model View Controler cấu trúc hướng đối tượng.
Model
class Page_model extends CI_Model{
public function get_page($p=null){
$query = $this->db->get('pages');
if ($query->num_rows() > 0){
return $query->result();
}
return FALSE;
}
}
Controler
class Welcome extends CI_Controller {
public function index()
{
$this->load->model('page_model');
$data["bien_truyen_view"]=$this->page_model->get_page();
$this->load->view('home',$data);
}
}
View
echo $bien_truyen_view;
Ngoài ra codeisnitor còn hỗ trợ rất nhiều phương thức tương tác với cơ sở dữ liệu thông qua active record khá tiện dụng
Ví dụ:
Muốn view một bảng ra chỉ cần
$this->db->get("user");
= với query truy vấn $this->db->query("select * from user");
Tương tự với insert, update và delete record ngoài ra còn rất nhiều phương thức khác liên quan tới database.
Xem link bên dưới
** http://ellislab.com/codeigniter/user-guide/database/active_record.html
Thư viện class của codeignitor rất phong phú được chia vào các
Class Reference
Benchmarking Class
Calendar Class
Cart Class
Config Class
Email Class
Encryption Class
File Uploading Class
Form Validation Class
FTP Class
HTML Table Class
Image Manipulation Class
Input Class
Javascript Class
Loader Class
Language Class
Migration Class
Output Class
Pagination Class
Security Class
Session Class
Trackback Class
Template Parser Class
Typography Class
Unit Testing Class
URI Class
User Agent Class
XML-RPC Class
Zip Encoding Class
Chúng ta sẽ tìm hiểu những thành phần này rõ và kỹ hơn ở những mục tiếp theo.
Thứ Sáu, 15 tháng 11, 2013
Jquery - Lazy load images loader
Link homepage: http://jquery.eisbehr.de/lazy/
Link download: http://www.mediafire.com/?bsicj0brmx6ojbm
Link download: http://www.mediafire.com/?bsicj0brmx6ojbm
Thứ Sáu, 8 tháng 11, 2013
Thứ Năm, 7 tháng 11, 2013
Thứ Hai, 4 tháng 11, 2013
Thứ Bảy, 2 tháng 11, 2013
Cách gọi file font không cùng domain
Hỏi: Vì sao khi gọi thuộc tính @font-face trong css thuộc một server hay domain khác lại không được?
Trước khi chỉnh sửa |
Chỉnh sửa thành công |
Đáp:
Ứng dụng cho lấy font Arsome ở server khác.
Thêm dòng lệnh trong file .htaccess
<FilesMatch "\.(ttf|ttc|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
FontViewer - Bạn đang gặp rắc rối về font chữ ? - Hãy thử phần mềm này
Thứ Năm, 31 tháng 10, 2013
Đăng ký:
Bài đăng (Atom)