Tuesday, July 17, 2007

Xoá file trong Trash, tăng dung lượng cho ổ cứng

Hôm nay, tui đọc File Manager một chút, vô tình thấy Trash folder sao nhiều file và folder cũ quá. Thì ra khi chúng ta delete các file, folder, nó ko mất hẳn, mà chuyển vào Trash (giống Recycle Bin trong Windows). Nhưng trong Win, nếu mình muốn xoá ko cần khôi phục thì chỉ cần nhấn Shift-Del là ko lưu vào Recycle Bin rồi, nhưng trong Ubuntu thì tui cũng chưa biết có chiêu nào ko. Rất mong có bạn nào chỉ giáo dùm.

Mình tìm trên mạng thì thấy có lệnh này để xoá file, nhưng trong Terminal thôi( mệt thiệt ! ) , mở Terminal lên rồi gõ:
sudo rm -fr $HOME/.Trash/
Các bạn nên lâu lâu vào dọn rác 1 lần, ko thôi ko boot được đó( HDD full)
Chúc các bạn thành công !

Monday, July 16, 2007

Tự học PHP (bài 2): CÚ PHÁP CĂN BẢN

CÚ PHÁP CĂN BẢN

Để có thể làm theo các ví dụ trên bạn tạo các file ví dụ và chép vào thư mục htdocs trong thư mục Xampp là thư mục cài đặt, bạn nhớ khởi động Apache và MySQL trước khi thực hành nha.

Trang PHP là 1 trang HTML có nhúng mã PHP

Để minh hoạ cho điều này, ta hãy xem qua một số ví dụ sau:



Ví dụ 1: lưu file sau lên đĩa với tên vd1.php và chạy thử:



<html><head></head>

<body><?php echo "Hello, world!"; ?></body>

</html>

Bạn sẽ nhận được 1 trang HTML mà khi view source bạn xẽ nhận được nội dung như sau:

<html><head></head>

<body>Hello, World!</body>

</html>



Ví dụ 2: lưu file sau lên đĩa với tên vd2.php và chạy thử:



<?php echo "<html><head></head>

<body>Hello, world!</body>

</html>"; ?>

Bạn cũng nhận được 1 trang HTML có source là:

<html><head></head>

<body>Hello, World!</body>

</html>



Như vậy có thể nhận xét rằng 1 trang PHP cũng chính là 1 trang HTML có nhúng mã PHP ở bên trong và có phần mở rộng là .php. Phần mã PHP được đặt trong thẻ mở <?php và thẻ đóng ?>. Khi trình duyệt truy cập vào 1 trang PHP, server sẽ đọc nội dung file PHP lên, lọc ra các đoạn mã PHP, thực thi các đoạn mã đó, lấy kết quả xuất ra của các đoạn mã PHP thay thế vào chỗ ban đầu của chúng trong file PHP, cuối cùng server trả về kết quả cuối cùng là 1 trang nội dung HTML về cho trình duyệt.

Ở ví dụ 1 bên trên, server thực thi đoạn mã <?php echo "Hello, world!"; ?>, đoạn mã này sẽ xuất ra dòng chữ Hello, world!, dòng chữ này sẽ được server thay thế ngược lại vào vị trí của đoạn mã PHP và trả về kết quả cuối cùng cho trình duyệt:



<html><head></head>

<body>Hello, World!</body>

</html>



Như vậy thì ta hoàn toàn có thể tạo ra 1 file vd3.php với nội dung như sau:



<html><head></head>

<body>Hello, World!</body>

</html>

Và file này vẫn chạy được ngon lành, không có vấn đề gì hết!



Lệnh echo dùng để xuất 1 chuỗi văn bản về trình duyệt

Ở các ví dụ bên trên, ta đã dùng 1 lệnh của PHP là lệnh echo. Lệnh này dùng để xuất 1 chuỗi văn bản về cho trình duyệt.



Ví dụ câu lệnh echo "Hello, world!"; trình duyệt sẽ nhận được chỗi văn bản Hello, world!.

Câu lệnh echo 1+2; sẽ trả về cho trình duyệt chỗi văn bản 3.

Và câu lệnh echo 1+2, "Hello, world!"; sẽ trả về trình duyệt chỗi 3Hello, world!.



Phân cách các lệnh bằng dấu chấm phảy (;)

Tương tự như các ngôn ngữ lập trình C hoặc Pascal, 1 câu lệnh của PHP được kết thúc bằng dấu chấm phảy (;). Ví dụ:

echo 1+2;

echo "Hello, world!";



Chú thích trong chương trình

Các chú thích không phải là mã chương trình, nhưng nó giúp ta ghi chú về 1 đoạn chương trình nào đó. Khi lập trình, bạn nên để các ghi chú vào trong chương trình để sau này khi đọc lại code, bạn sẽ nhanh chóng nắm bắt được nội dung và ý nghĩa của đoạn chương trình đã biết.

PHP cho phép ta ghi 2 loại chú thích: chú thích trên 1 dòng (chú thích loại này chỉ có thể ghi trên 1 dòng mà thôi), và chú thích nhiều dòng (chú thích loại này có thể ghi dài bao nhiêu cũng được).

Chú thích 1 dòng được bắt đầu bằng // hoặc #, và những gì được ghi từ đó về sau là chú thích. Chú thích nhiều dòng được bắt đầu bằng /* và kết thúc bằng */, những gì ở giữa là chú thích. Ví dụ:



<?php

//Đây là chú thích 1 dòng, đoạn chương trình sau sẽ in ra chuỗi 123

echo 123;



#Đây cũng là chú thích 1 dòng, đoạn chương trình sau sẽ in ra chuỗi abc

echo "abc";



/*

Đây là chú thích nhiều dòng

Đoạn chương trình sau sẽ in ra chuỗi abc123

*/

echo "abc123";

?>



----------------------



KIỂU DỮ LIỆU



PHP hỗ trợ 8 kiểu dữ liệu chính:



4 kiểu dữ liệu vô hướng: boolean, integer, float (double), string.

2 kiểu dữ liệu tổ hợp: array, object.

2 kiểu dữ liệu đặt biệc: resource, NULL.



Kiểu Boolean

Kiểu boolean mang 1 trong 2 giá trị TRUE (đúng) hoặc FALSE (sai). Ví dụ:



<?php

$a = TRUE;

$b = FALSE;



//phép toán == kiểm tra xem 2 biểu thức có giá trị bằng nhau hay không

$c = (1==2); //vì 1 khác 2 nên $c mang giá trị FALSE

$d = ("abc" == "def"); //$d mang giá trị TRUE

?>



"Ép" kiểu sang boolean: một số giá trị được chuyển đổi thành FALSE trong các biểu thức boolean nếu như giá trị đó là:



số nguyên 0,

số thực 0.0,

chuỗi rỗng "", hoặc chuỗi "0",

mảng rỗng (không chứa phần tử nào) Array(),

đối tượng không chứa phần tử nào (chỉ đúng với PHP4),

giá trị NULL

Các giá trị còn lại sẽ được chuyển đổi thành TRUE.



Kiểu Integer

Kiểu integer mang các giá trị số nguyên ..., -2, -1, 0, 1, 2, ...Trên hầu hết các hệ thống, kiểu số nguyên có kích thước 32 bit, mang giá trị từ -2147483647 cho đến 2147483648. Ví dụ:



<?php

$a = 1234;

$b = -123;

$c = 0123; //giá trị 123 ở hệ cơ số 8, tương đương với 83 ở hệ cơ số 10

$d = 0x1F; //giá trị 1F ở hệ cơ số 16, tương đương với 31 ở hệ cơ số 10

?>



Kiểu Float (Double)

Kiểu float (hoặc double) là kiểu số thực, có thể mang bất cứ giá trị số thực nào. Trên hầu hết các hệ thống, kiểu số thực có kích thước 64 bit. Ví dụ:



<?php

$a = 1.234;

$b = 1.2e3; //= 1.2*10^3 = 1200

$c = 7E-10; //= 7*(10^-10) = 0.0000000007

$d = -1.23;

?>



Kiểu String

Kiểu string lưu giữ 1 chuỗi ký tự, mỗi ký tự có kích thước 1 byte. Nội dung string được đặt giữa 2 dấu nháy, nháy đơn (') hoặc nháy kép ("). Ví dụ



<?php

$a = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn';

$b = "Đây là 1 chuỗi được đặt giữa dấu nháy kép";

$c = 'Đây là 1 chuỗi được đặt giữa dấu nháy đơn với "vài dấu nháy kép ở giữa"';

$d = "Đây là 1 chuỗi được đặt giữa dấu nháy kép với 'vài dấu nháy đơn ở giữa'";

?>

Nếu bạn muốn sử dụng dấu nháy đơn ở trong 1 chuỗi được bọc bởi dấu nháy đơn, hoặc sử dụng dấu nháy kép đặt giữa chuỗi được bọc bởi dấu nháy kép thì bạn để thêm ký tự \ (gọi là ký tự escape) ở phía trước. Ví dụ:

<?php

$a = 'Dấu \'nháy đơn\' ở giữa chuỗi'; //$a mang giá trị: Dấu 'nháy đơn' ở giữa chuỗi

$b = "Dấu \"nháy kép\" ở giữa chuỗi"; //$b mang giá trị: Dấu "nháy kép" ở giữa chuỗi

$c = "Dùng ký tự \\ ở giữa câu \\ thì sao?"; //$c mang giá trị: Dùng ký tự \ ở giữa câu \ thì sao?

?>

Khi sử dụng dấu nháy đôi để bọc chuỗi, ngoài \', \" và \\, PHP có thể nhận dạng thêm một số chuỗi ký tự escape đặt biệc nữa:

\n: ký tự xuống hàng LF (ký tự có mã 10 trong bảng mã ASCII)

\r: ký tự về đầu dòng CR (ký tự có mã 13 trong bảng mã ASCII)

\t: ký tự tab (ký tự có mã 9 trong bảng mã ASCII)

\$: ký tự $

\ooo: (với o là 1 chữ số từ 0 đến 7) biểu thị 1 ký tự có mã ASCII ooo trong hệ cơ số 8.

Ví dụ \101 sẽ là ký tự 'A' (101 trong hệ cơ số 8 tương đương 65 trong hệ cơ số 10, ký tự ASCII có mã 65 chính là ký tự 'A').

\xhh: (với h là 1 chữ số từ 0 đến 9 hoặc 1 chữ cái từ A tời F) biểu thị 1 ký tự có mã ASCII hh trong hệ cơ số 16.

Ví dụ \0x41 sẽ là ký tự 'A' (41 trong hệ cơ số 16 chính là 65 trong hệ cơ số 10).



Ngoài ra, nếu bạn để 1 biến vào giữa 1 chuỗi được bọc với dấu nháy kép, giá trị của biến sẽ được thay thế vào trong chuỗi. ví dụ:



<?php

$a = 1;

$b = 2;

$c = 3;

$d = "$a $b $c"; //$d sẽ mang giá trị là chuỗi "1 2 3"

?>



Kiểu Array

Array là một mảng gòm nhiều phần tử. Array được tạo qua lệnh Array. Ví dụ:



<?php

$a = Array(1,2,3);

Lúc này $a sẽ là 1 mảng gồm 3 phần tử số nguyên là 1, 2 và 3



Các phần tử trong mảng $a được tạo ở trên sẽ được đánh số thứ tự từ 0, 1 cho đến 2

Để truy cập tới từng phần tử của $a

echo $a[0]; //in ra giá trị 1

echo $a[2]; //in ra giá trị 3



$a[1] = 5; //giờ đây $a = Array(1,5,3)

?>

Mảng còn có thể được tạo thành bởi các cặp (khoá, giá trị). Ví dụ:

<?php

$a = Array(

"khoá 1" => "giá trị 1",

"khoá 2" => "giá trị 2",

"khoá 3" => "giá trị 3"

);

echo $a["khoá 1"]; //in ra: giá trị 1



$b = Array(

"a" => "Nguyễn",

"b" => "Bá",

"c" => "Thành"

);

echo $b["a"]; //in ra: Nguyễn



$b["a"] = "Nguyen";

$b["b"] = "Ba";

$b["c"] = "Thanh";

//giờ đây $b = Array("a" => "Nguyen", "b" => "Ba", "c" => "Thanh")

?>



Kiểu Object

Kiểu object (đối tượng) lưu giữ 1 bản thể (instance) của 1 lớp (class). Ta sẽ tìm kiểu kỹ thêm về kiểu object trong phần Lập trình hướng đối tượng với PHP.



Kiểu Resource

Kiểu resource (tài nguyên) được sử dụng bởi các hàm đặt biệc của PHP (ví dụ hàm mysql_connect sẽ trả về kiểu resource). Ta sẽ tìm hiểu kỹ hơn về kiểu resource trong các bài viết khác.



Kiểu NULL

Đây là 1 giá trị đặt biệc, báo cho PHP biết rằng 1 biến nào đó chưa/không mang giá trị nào cả. Ví dụ:



<?php

$a = 1; //$a mang giá trị 1



$a = NULL; //bây giờ $a không mang giá trị nào cả



$a = 2; //giờ đây $a mang giá trị 2



//hàm unset sẽ làm cho 1 biến có giá trị là NULL

unset($a); //giừo $a lại là NULL

?>



CÁC CÂU LỆNH ĐIỂU KHIỂN



Câu lệnh if

Cú pháp đơn giản nhất của câu lệnh if có dạng như sau:





if ( biểu thức )

câu lệnh;

Câu lệnh if trên được diễn giải như sau: nếu biểu thức trả về giá trị TRUE (hoặc tương đương với TRUE sau khi chuyển đổi) thì câu lệnh sẽ được thực thi; ngược lại (khi biểu thức trả về giá trị FALSE) thì bỏ qua không thực thi câu lệnh nữa.



Cú pháp nâng cao của câu lệnh if có dạng như sau:





if ( biểu thức )

câu lệnh 1;

else

câu lệnh 2;

Câu lệnh if trên được diễn giải như sau: nếu biểu thức trả về giá trị TRUE thì câu lệnh 1 sẽ được thi hành, ngược lại thì câu lệnh 2 sẽ được thi hành.



Các lệnh if có thể được lồng vào nhau để tạo ra câu lệnh if phức tạp hơn:





if ( biểu thức 1 )

if ( biểu thức 2 )

câu lệnh 1;

else

câu lệnh 2;

else

câu lệnh 3;

Nếu biểu thức 1 trả về giá trị FALSE thì câu lệnh 3 sẽ được thực hiện, ngược lại xét tiếp biểu thức 2: nếu biểu thức 2 trả về giá trị TRUE thì thực hiện câu lệnh 1, ngược lại nếu biểu thức 2 trả về giá trị FALSE thì thực hiện câu lệnh 2.



if ( biểu thức 1 )

câu lệnh 1;

else if ( biểu thức 2 )

câu lệnh 2;

else if ( biểu thức 3 )

câu lệnh 3;

else

câu lệnh 4;

Nếu biểu thức 1 trả về TRUE thì thực hiện câu lệnh 1 (các câu lệnh 2,3,4 không thực hiện), nếu biểu thức 1 trả về FALSE và biểu thức 2 trả về TRUE thì câu lệnh 2 được thực hiện, nếu biểu thức 1 trả về FALSEm biểu thức 2 trả về FALSE và biểu thức 3 trả về TRUE thì câu lệnh 3 được thực hiện. Nếu cả 3 biểu thức 1,2,3 đều trả về FALSE thì thực hiện câu lệnh 4.



Ngoài ra PHP còn cung cấp từ khoá elseif, chính là ghép giữa từ khoá else và if.



Câu lệnh while

Câu lệnh while dùng để tạo 1 vòng lặp, cú pháp của câu lệnh này như sau:



while ( biểu thức )

câu lệnh;

Được diễn giải như sau: trong khi biểu thức còn trả về giá trị TRUE thì tiếp tục thực hiện câu lệnh, sau khi thực hiện câu lệnh thì kiểm tra lại biểu thức, nếu vẫn còn trả về giá trị TRUE thì lại tiếp tục thực hiện câu lệnh...cứ tiếp tục như vậy cho tới khi nào biểu thức trả về giá trị FALSE thì ngưng.



Một ví dụ in ra các số từ 1 tới 10 với câu lệnh while:



<?php

$i = 1;

while ( $i <= 10 ) {

echo $i, "\n";

$i++;

} //end while

?>

Ghi chú: Câu lệnh $i++ tương đương với $i = $i+1;, câu lệnh này sẽ tăng giá trị của $i lên 1 qua mỗi lần lặp.



Câu lệnh do-while

Câu lệnh do-while cũng tương tự như câu lệnh white, chỉ khác một điểm là câu lệnh được thực hiện trước rồi biểu thức mới được kiểm tra sau, nếu biểu thức còn trả về giá trị TRUE thì tiếu tục thực hiện câu lệnh. Cú pháp của câu lệnh do-while như sau:



do {

câu lệnh;

} while ( biểu thức );



Một ví dụ in ra các số từ 1 tới 10 với câu lệnh do-while:



<?php

$i = 1;

do {

echo $i, "\n";

$i++;

} while ( $i < 10 );

?>



Câu lệnh for

Câu lệnh for cũng dùng để tạo vòng lặp. Đây là một trong những câu lệnh phức tạp nhất của PHP, cú pháp của nó như sau:



for ( biểu thức 1; biểu thức 2; biểu thức 3 )

câu lệnh;

Được diễn giải như sau:

Đầu tiên biểu thức 1 được thực hiện,

Tiếp theo biểu thức 2 được kiểm tra

Nếu trả về TRUE thì câu lệnh được thực hiện và sau đó thực hiện biểu thức 3.

Nếu trả về FALSE thì kết thúc câu lệnh for.

Kiểm tra lại biểu thức 2 và lặp lại quá trình như trên.



Một ví dụ in ra các số từ 1 tới 10 với câu lệnh for:



<?php

for ( $i = 0; $i < 10; $i++ ) {

echo $i, "\n";

} //end for

?>



Câu lệnh foreach

Câu lệnh foreach chỉ làm việc với array. Câu lệnh foreach có 2 dạng cú pháp như sau:



foreach ( $array as $value )

câu lệnh;

foreach ( $array as $key => $value )

câu lệnh;



Ta sẽ hiểu rõ hơn 2 dạng cú pháp này qua 2 ví dụ sau:



Ví dụ 1:



<?php

$a = array('a' => 1, 'b' => '2', 'c' => '3');



foreach ( $a as $value ) {

echo $value, "\n";

} //end foreach

?>

Chương trình trên sẽ in ra 3 số 1, 2 và 3.



Ví dụ 2:



<?php

$a = array('a' => 1, 'b' => '2', 'c' => '3');



foreach ( $a as $key => $value ) {

echo $key, "=", $value, "\n";

} //end foreach

?>

Chương trình trên sẽ in ra 3 chuỗi a=1, b=2 và c=3.



Câu lệnh switch

Câu lệnh switch hoạt động như là 1 loạt câu lệnh if ghép lại với nhau. Ta hãy xem câu lệnh if sau:



if ( $a == "abc" )

echo "Giá trị của a là abc";

} elseif ( $a == "def" )

echo "Giá trị của a là def";

} elseif ( $a == "123" ) {

echo "Giá trị của a là 123";

} else {

echo "Giá trị khác";

} //end if

3 câu lệnh if ở trên có thể được viết lại bằng câu lệnh switch như sau:

switch ( $a ) {

case "abc";

echo "Giá trị của a là abc";

break;

case "def";

echo "Giá trị của a là def";

break;

case "123";

echo "Giá trị của a là 123";

break;

default:

echo "Giá trị khác";

} //end switch



Câu lệnh break

Câu lệnh break sẽ dừng việc thực thi của các vòng lặp for, foreach, while, do-while và switch. Ở phần trước ta đã thấy câu lệnh break được sử dụng trong câu lệnh switch. Nếu không có break, câu lệnh switch ở phần trước sẽ thành:



switch ( $a ) {

case "abc";

echo "Giá trị của a là abc";

case "def";

echo "Giá trị của a là def";

case "123";

echo "Giá trị của a là 123";

default:

echo "Giá trị khác";

} //end switch

Nếu giá trị của $a là "abc" thì cả 4 chuỗi "Giá trị của a là abc", "Giá trị của a là def", "Giá trị của a là 123" và "Giá trị khác" sẽ được in ra.; nếu $a mang giá trị "def" thì 3 chuỗi "Giá trị của a là def", "Giá trị của a là 123" và "Giá trị khác" sẽ được in ra.

Ở đây ta muốn chỉ có 1 dòng duy nhất in ra tương ứng với giá trị của biến $a, nên ta thêm các câu lệnh break vào các phần case, để khi in ra chuỗi tương ứng với giá trị $a thì ta thoát ra khỏi câu lệnh switch.



Một ví dụ sử dụng câu lệnh break trong vòng lặp for:



for ( $i=1; $i<=10; $i++ ) {

echo $i;

if ( $i == 5 ) break;

}

Vòng lặp for ở trên thay vì in ra 10 số từ 1 đến 10, vòng lặp chỉ in ra 5 số từ 1 đến 5 mà thôi vì khi $i đạt giá trị 5, vòng lặp sẽ kết thúc do câu lệnh break.



Cách dùng câu lệnh break trong các vòng lặp foreach, while và do-while cũng tương tự.



Câu lệnh continue

Câu lệnh continue áp dụng lên các vòng lặp, lệnh continue sẽ bỏ qua lần lặp hiện thời và tiếp tục thực hiện các lần lặp tiếp theo. Để hiểu rõ hơn ta hãy xem ví dụ sau:



for ( $i=1; $i<=5; $i++ ) {

if ( $i == 2 ) continue;

echo $i;

}

Khi $i đạt giá trị 2, câu lệnh echo $i; sẽ được bỏ qua không thì hành nữa do câu lệnh continue. Và như vậy, đoạn lệnh trên khi chạy sẽ in ra các giá trị 1,3,4,5 (không có giá trị 2).



Cách dùng của câu lệnh continue trong các vòng lặp foreach, while, do-while cũng tương tự.



----------------------



HÀM



Hàm do người dùng định nghĩa

Trong lập trình, có một số đoạn mã được dùng nhiều lần ở nhiều nơi khác nhau trong chương trình. Sẽ rất phiền và khó sửa lỗi nếu như ta phải viết lặp đi lặp lại 1 đoạn mã đó ở nhiều nơi. PHP cung cấp một giải pháp đó là hàm do người dùng định nghĩa. Ta có thể đưa đoạn mã đó vào trong 1 hàm, và ở chỗ nào cần dùng đoạn mã đó ta chỉ cần gọi hàm, khi cần sửa đổi, ta chỉ cần sửa đổi 1 chỗ duy nhất là nội dung của hàm chứ không cần phải sửa ở nhiều nơi trong chương trình.



Cú pháp để tạo 1 hàm do người dùng định nghĩa như sau:



function tênHàm($tham_số1, $tham_số2, ..., $tham _sốn) {

//thân hàm

echo "Testing";

return $kết_quả_trả_về;

} //end

Khi cần sử dụng hàm ở chỗ nào, ta chỉ cần dùng cú pháp tênHàm(các tham số cần thiết);



Ví dụ:



<?php

function testing() {

echo "Testing gunction";

echo 1;

echo 2;

echo 3;

} //end testing

testing();

testing();

testing();

?>



Lưu ý: Tên hàm cũng như tên biến chỉ bao gồm các ký tự chữ cái (a..z, A..Z), chữ số (0..9) và ký tự gạch dưới (_), ngoài ra tên hàm không được bắt đầu bằng chữ số, nhưng được phép bắt đầu bằng ký tự gạch dưới (tên hàm khác với tên biến chỗ này). Tên hàm trong PHP phân biệt chữ hoa và chữ thường, tức là testing và Testing là 2 tên hàm khác nhau.



Tham số của hàm

Hàm có thể nhận vào các tham số, ví dụ:



<?php

function testing($a) {

echo "Tham số là $a";

} //end testing

testing(123);

testing("abc");

?>

Ở ví dụ trên, lời gọi hàm testing(123); sẽ in ra dòng Tham số là 123 và lời gọi hàm testing("abc"); sẽ in ra dòng Tham số là abc.



Ta có thể gán giá trị mặc định cho tham số của hàm:



<?php

function testing($a="mặc định") {

echo "Tham số là $a";

} //end testing

testing();

?>

Khi tham số tương ứng của hàm không được truyền, tham số đó sẽ nhận giá trị mặc định. Đoạn chương trình ví dụ ở trên khi chạy sẽ in ra dòng Tham số là mặc định.



Giá trị trả về từ hàm

Hàm còn thể trả về 1 giá trị cho nơi gọi:



<?php

function binh_phuong($a) {

$ketqua = $a * $a;

return $ketqua;

} //end testing

echo binh_phuong(2);

?>

Đoạn chương trình trên khi chạy sẽ in ra số 4. Câu lệnh return biểu_thức; sẽ kết thúc hàm và trả về giá trị của biểu_thức cho nơi gọi.

Sunday, July 15, 2007

Cùng cài Pidgin nâng cấp Gaim !!!

Gaim 2.0 Beta là trình internet messenger mặc định cho mình khi cài FeistyFawn xong. Nhưng Ubuntu đã có version mới của Gaim ròi đó, tên Pidgin. "Hậu bối" này nghe đồn là chạy ổn định hơn, và có nhìu plugin hỗ trợ lắm. Lasted version là Pidgin-2.0.2 ( tính tới ngày hôm nay nge !).

Download source link
Các bạn có thể cài bằng cách khỏ các lệnh đơn jản sau :

wget http://download.ubuntu.pl/_Feisty_Fawn/pidgin/2.0.2/pidgin_2.0.2-1_i386.deb

Típ theo là :
sudo dpkg -i pidgin_2.0.2-1_i386.deb
Và để "sí sọn" một chút, các bạn hãy cài thêm các plugin zô. Mở Pidgin lên, zô menu Tool/ Plugin. Sẽ có 1 list các plugin bạn cần. Các bạn hãy check vào các plugin mà mình cần.
Chúc các bạn thành công !!!
À wên, nếu các bạn đang cài Gaim thì nên uninstall Gaim trước. Tui bị nó báo là ko thể overwrite lên /usr/local/gaim, nên fải zô Synaptic Package Manager để remove nó trước.
Và thêm 1 đìu nữa, khi cài Pidgin cần có libxml2 với version 2.6.0 trở lên. Download libxml2.6.27
Để cài libxml2 như sau :
wget http://www.icewalkers.com/Linux/Software/510250/libxml2.html

tar -xvzf libxml2-2.6.27.tar.gz

cd libxml2-2.6.27

./configure

make

sudo make install


Vậy là xong các rắc rối mà tui đã gặp trong wá trình cài Pidgin ròi. Nếu các bạn có các kinh ngịm j thì chia sẻ nge.

Saturday, July 14, 2007

Tự học PHP (Bài 1)

Hiện tại PHP là ngôn ngữ lập trình khá hot. Công ti tôi đăng tuyển nhân viên lập trình PHP (kinh nghiệm 1 năm) mà chả thấy tăm hơi ai hết ( có mình tui à ;) ), Còn phần Quản lý dự án ( Kinh nghiệm 2 năm ) lại càng không có.
PHP là một ngôn ngữ dễ học, đơn giản và đủ mạnh để lập trình tất cả các loại website. Từ trang web tin tức đến trang web thương mại điện tử .... Hôm nay tôi xin mạn phép soạn series bài về lập trình PHP. Hi vọng loạt bài nầy sẽ giúp cho các bạn có mong muốn trở thành một lập trình viên PHP trong tương lai có một số kiến thức cũng như kỹ năng lập trình PHP đủ xài.

Các bước chuẩn bị để có thể lập trình PHP.

Tất nhiên là bạn phải biết một chút HTML và nếu bạn đã có học lập trình C rồi thì thật là tuyệt vời, câu lệnh PHP có cấu trúc y chang C, và nếu bạn được học lập trình hướng đối tượng rồi thì còn tuyệt vời hơn nửa.

Bây giờ chúng ta vào phần cài đặt PHP. Máy tính để lập trình tôi chọn là máy tính cài hệ điều hành XP ( đại chúng wé mà ), và tôi sử dụng Xampp là chương trình cài đặt hoàn chỉnh các thành phần để chạy PHP gồm: PHP, MySQL và Apache.

Một số kiến thức cần biết:
Apache là một web server chương trình nầy thường chạy và giao tiếp với bên ngoài thông qua cổng 80, do đó nếu bạn đã cài đặt IIS ( là một web server của Microsoft ) thì bạn nên tắt dịch vụ nầy ( cũng chạy cổng 80 ) sau khi bạn chạy Apache, máy bạn trở thành một web server (nghe ghê hông ? ;) ) như vậy nếu địa chĩ ip của máy bạn là 192.168.1.6 chẳng hạn thì các máy cùng mạng Lan của bạn có thể truy cập dịch vụ web của máy tính của bạn thông qua địa chỉ http://192.168.1.6 nếu bạn muốn những người ngoài mạng Lan truy cập vào dịch vụ web của máy tính bạn thì bạn phải set up cho modem của bạn, vấn đề nầy tôi sẽ đề cập vào bài viết khác. Túm lại Apache là một web server, và bạn phải đặt code PHP của bạn đúng chổ để web server nầy biết và thực thi nó.
PHP là một ngôn ngữ lập trình web. Sau khi bạn đã cài Apache rồi và cài thêm PHP như vậy web server của bạn sẽ không chỉ phục vụ các trang web tĩnh (HTML) nửa, mà nó còn có thể phục vụ các trang web động (đuôi .PHP), có thể nhận các yêu cầu từ các trình duyệt, xử lý và xuất các kết quả trả về cho trình duyệt. Việc xử lý nầy chính là do PHP đảm nhận.
MySQL là một hệ quản trị cơ sở dữ liệu, nó có chức năng tương tự Access, MS SQL Server, hay Oracle vậy. Nó dùng để lưu giữ, quản trị, và truy vấn cơ sở dữ liệu.
Bộ 3 nầy là các thứ cần thiết để có thể run một website PHP.

Cài đặt PHP
Bước 1: lên trang web http://xampp.org download phiên bản cài đặt dành cho Windows XP về Bản cài đặt Xampp dành cho windows sau đó bạn giải nén và cài đặt nó. Sau khi cài đặt xong thì máy tính của bạn đã có đủ 3 chương trình PHP, MySQL và Apache.
Bước 2: Test coi nó có chạy hông ? ;) mở trình duyệt và gõ: http://localhost nếu xuất hiện gì đó thì bạn đã cài thành công.

Hì hôm nay vậy thôi nhé ! Các bạn nên tham khảo nhiều trên Internet các bài về lập trình PHP, ebook thì đầy dẫy (tiếng Anh hông hà ;)) ), hiện tại ở VN chỉ có trung tâm tin học Đại học Khoa Học Tự Nhiên có dạy lập trình PHP thui, các bạn nào thích thì qua đó học.
Một số trang web hay
mysql.com
apache.org
php.net

Thursday, July 12, 2007

Cài thêm fonts cho Ubuntu

Bạn có thể sử dụng các font dành cho Windows XP trong các trình soạn thảo như gedit, open office vv... trong Linux, để làm được điều nầy bạn phải cài font cho Linux.
Sau đây là hướng dẫn cài font của windows cho Ubuntu.

Chép các fonts windows vào thư mục /usr/share/fonts/truetype

/////////////////////////////////////////
Vào terminal gõ lệnh
sudo apt-get install msttcorefonts
lệnh nầy sẽ cài các font cho web của bạn
////////////////////////////////////////

Sau khi khởi động Linux lại, bạn có đủ fonts để xài, còn nếu ko muốn khởi động lại, bạn vào Terminal gõ lệnh sau :

# sudo fc-cache -fv

để update fonts vào hệ thống nhé , thân !


Tham khảo từ Saylinux

Wednesday, July 11, 2007

How to Install Elisa media center in Ubuntu

Fluendo’s Elisa is a free software media center application that can play your DVDs, video files, music, and pictures. Since it is designed for extensibility, Elisa has the potential to do much more. It does not handle television or video recording functions, but it is a slick and promising project.

Elisa media center Features

  • Elisa supports a wide range for media formats through the use of the GStreamer multimedia framework, including but not limited to Ogg Vorbis, Ogg Theora, Matroska, MPEG 2, MPEG4, Quicktime and Windows Media. Commercially licensed plugins that work with GStreamer and Elisa are available from Fluendo.
  • Elisa supports playing both local music files and web radio stations. So if your media center is connected to your hi-fi system you can use it as a web radio tuner or you can use it as a jukebox for your own music files.
  • Elisa supports any remote control supported by the linux infrared control project, this includes many of the most popular infrared remote controls out there.
  • Elisa can view photos and images in all the most common formats used like jpeg and png. Elisa can also do simple manipulation of the photos like rotating photos that are taken in portrait mode.
  • Elisa supports playing back DVD’s
  • Elisa is cross platform allowing you to install it on both GNU/Linux and Unix systems, but also on Windows systems.
  • Elisa supports DLNA compliant upnp multimedia devices. This means photos, music and videos shared from such devices are available in Elisa. Elisa is also able to share its own files to upnp enabled devices.
  • Elisa can act as a DAAP client so as to browse and play music files shared on the network by iTunes, Banshee or Rhythmbox
  • Elisa is also able to browse and display pictures shared on Flickr

Install Elisa media center in Ubuntu

For Ubuntu Edgy Users

You need to edit the /etc/apt/sources.list file

sudo vi /etc/apt/sources.list

add the following line save and exit the file

deb http://elisa.fluendo.com/packages edgy main

For Ubuntu Feisty Users

You need to edit the /etc/apt/sources.list file

sudo vi /etc/apt/sources.list

add the following line save and exit the file

deb http://elisa.fluendo.com/packages feisty main

Now you need to update the source list using the following comamnd

sudo apt-get update

install elisa using the following command

sudo apt-get install elisa

This will install all the packages required for elisa media center.

If you want to open go to Applications -> Sound & Video ->Elisa Media Center


Once it opens you should see the following screen


On launch, Elisa looks for the configuration file ~/.elisa/elisa.conf. If it does not find one (and it won’t the first time you run Elisa), it creates a skeleton elisa.conf file that you can then edit in any text editor.

The important options to customize are the locations in which Elisa will look for media. The default elisa.conf specifies ./sample_data/movies, ./sample_data/music, and ./sample_data/pictures — directories that do not even exist inside ~./elisa/.

Elisa Media Center plugins

If you want Elisa Media Center plugins check here

from http://www.ubuntugeek.com

Wednesday, July 4, 2007

How to install Flash Player for Ubuntu - Cách cài đặt flash cho Ubuntu

Cách tốt nhất để cài Macromedia Flash Player plug-in cho Mozilla Firefox là mở trình duyệt Firefox và mở trang Adobe.com: Version test for Adobe Flash Player. Sau đó bạn sẽ thấy một thông báo là thiếu plug-in flash. Bạn sẽ click vào thông báo nầy và theo các bước mà firefox hướng dẫn để cài đặt flash. Thường thường bạn firefox sẽ cài plugin nầy một cách tự động khi bạn click "install now".
Bạn cũng có thể cài đặt bằng cách sử dụng package manager: Vào terminal gõ lệnh
sudo apt-get install flashplugin-nonfree
Khởi động lại firefox

Nếu âm thanh của flash bị lỗi bạn sửa như sau:
Vào terminal gõ lệnh:
sudo apt-get install alsa-oss
gksudo gedit /etc/firefox/firefoxrc
Sửa FIREFOX_DSP="" thành FIREFOX_DSP="aoss"

Cách đơn giản và nhanh: Tải gói nầy về và install nó ;)
http://rivervalleytechsupport.com/files/libflashsupport_1.0~2219-1_i386.deb

Thế là bạn tha hồ vào Youtube, tải các game flash về và play nó (bằng firefox nhé ;))