3.
Unzip ไฟล์ php-4.2.2-Win32.zip ไปไว้ที่ Folder ใดๆ
ตามต้องการ ในที่นี้ผมใช้เป็น C:\PHP
4.
ให้ Copy ไฟล์ php.ini-dist
ไปไว้ที่ folder windows ซึ่งส่วนใหญ่จะเป็น C:\Windows
แล้วเปลี่ยนชื่อไฟล์เป็น php.ini
5.
จากนั้นใช้โปรแกรม Notepad หรือ editor ใดๆ เปิดไฟล์ php.ini นี้ขึ้นมา ให้ search หาและแก้ไขบรรทัดที่เขียนว่า extension_dir
โดยให้ชี้ไปที่ C:\PHP ดังนี้
extension_dir =
C:\PHP
; แล้วก็ save เก็บลงไป
6.
ให้ Copy ไฟล์ MSVCRT.DLL
และ PHP4TS.DLL ใน
C:\PHP ไปไว้ที่ C:\Windows
7.
ให้เปิด Registry Rditor ขึ้นมา
โดยไปที่ปุ่ม Start/Run แล้วพิมพ์ regedit จากนั้นเปิดเข้าไปตามนี้
HKEY_LOCAL_MACHINE
/System /CurrentControlSet /Services /W3Svc /Parameters
/ScriptMap
7.1
Click ขวาที่ช่องด้านขวาของโปรแกรม และเลือก New
-> String Value ให้พิมพ์ .php ลงไป
7.2
Double click ที่ .php แล้วพิมพ์
c:\php\php4isapi.dll ลงในช่อง Value
Data
8.
ให้ Start PWS4 แล้วกำหนด Folder
ที่จะ Run PHP โดยต้องกำหนดการ Access
Folder นี้เป็นแบบ Execute ด้วย
9.
หลังจากกำหนด Alias เพื่ออ้างอิงการ Run
แล้ว ก็ทดสอบ script ได้เลยครับ
สมมติผมกำหนด Alias ชื่อ
PHP เมื่อผมใช้ Editor เขียน Code
PHP ขึ้นมา ที่ URL ผมก็พิมพ์
http://localhost/php/test.php
การเขียนภาษา PHP เบื้องต้น
การวางตำแหน่งของ
PHP Script
การวางตำแหน่งของ
Script สามารถแทรกลงในส่วนไหนของ HTML ก็ได้ โดยมีเครื่องหมาย
<? เปิดสคริป
และ ?> ปิดสคริป
ตัวอย่าง
<html>
<head>
<title>Test
PHP</title>
</head>
<body>
<center>
<font
face="MS Sans Serif" size=2>ทดสอบการแสดงผล</font>
</center>
<? echo
"<center><font face=\"ms sans serif\" size=3>Test
PHP Script</font></center>"; ?>
</body>
</html>
การแสดงข้อความออกทาง
Browser
เราสามารถใช้คำสั่ง
ในการแสดงผลได้ 2 คำสั่งคือ echo และ print ซึ่งสามารถใช้แทนกันได้ทันที
โดยไม่ต้องเปลี่ยน syntax ใดๆ อีก
ตัวอย่าง
<?
echo
"<center><font face=\"ms sans serif\" size=3>Test
PHP Script</font></center>";
print
"<center><font face=\"ms sans serif\" size=3>Test
PHP Script</font></center>";
?>
ผลที่ได้ :
Test PHP Script
Test PHP Script
เราจำเป็นต้องใส่
\ ไว้ข้างหน้า " เพื่อป้องกันไม่ให้ PHP ตีความผิดว่า
code บรรทัดนั้นสิ้นสุดแล้ว
ถ้าไม่ใส่ \ แล้ว
PHP จะตีความเป็น
echo
"<center><font face="
มันจะเข้าใจว่าจบ
code แล้ว ซึ่งคล้ายกับ Perl
การใส่ Comment ภายใน Script
การใส่ comment ทั้งแบบบรรทัดเดียว และหลายบรรทัด ให้ใช้ /* เปิดหัว และ */ เพื่อปิดท้าย comment
การใส่ //
หรือ # ไว้ข้างหน้าประโยคที่เป็น comment ได้เพียงบรรทัดต่อบรรทัดเท่านั้น
ตัวอย่าง
<?
echo
"test"; /* แสดงข้อความ text
*/
/* comment หลายบรรทัด
ก็สามารถทำได้ */
echo
"$sum"; // The summation of cost
echo
"$mem_id"; // ID of each member
echo
"$max_id"; # Maximun of member ID
?>
การกำหนดตัวแปร
การกำหนดตัวแปร
(variable)
และ operation
ตัวอย่าง
<?
$num1=3;
$num2=4;
$sum=$num1+$num2;
echo
"<center><font face=\"ms sans serif\"
size=3>$sum</font></center>";
?>
ผลที่ได้ : 7
หากใช้เป็น
$num1='3';
$num2='4';
หรือ
$num1="3";
$num2="4";
ก็ยังได้ผลลัพท์เช่นเดิม เพราะ PHP มีความสามารถในการเปลี่ยน
variable type จากตัวหนังสือ เป็นตัวเลขโดยอัตโนมัติ
เนื่องจาก + เป็น operation ของตัวเลข
ตัวอย่าง
<?
$char1='Today';
$char2='is';
$char3='Sunday.';
echo
"<center><font face=\"ms sans serif\" size=3>$char1
$char2 $char3</font></center>";
?>
ผลที่ได้ : Today is Sunday.
การแสดงผลต่อเชื่อมระหว่างตัวแปรและตัวหนังสือ
หากเราต้องการแสดงผลโดยใช้ข้อความที่กำหนด
กับค่าที่ได้จากการ execute โปรแกรม ดังตัวอย่างเช่น
การสร้างไฟล์ที่มีชื่อเป็นรหัสสมาชิก
แล้วตามด้วยนามสกุล .txt
เราใช้ .
ในการเชื่อมระหว่าง variable และข้อมูลที่เป็น text
ตัวอย่าง
<?
$filename='0001'
/* สมมุติว่า
0001 คือรหัสที่ได้รับจาก Form
ที่สมาชิกกรอก
*/
echo
$filename.".txt";
?>
ผลที่ได้ : 0001.txt
การใช้เงื่อนไข
การใช้ IF...ELSE Condition
ตัวอย่าง
<?
$sum=10;
if
($sum==0) {
echo
"Summation is 0";
}
else {
echo
"Summation = ". $sum;
}
?>
ผลที่ได้ : Summation = 10
ในกรณีที่ไม่ใช้
else ก็สามารถทำได้เช่นกันครับ
ตัวอย่าง
<?
$sum=0;
if
($sum==0) {
echo
"Summation is 0";
}
?>
ผลที่ได้ : Summation = 0
ส่วนกรณีที่มีหลาย
Case
ก็ใช้ else if เข้าช่วย
ตัวอย่าง
<?
$a=5;
$b=6;
if
($a>$b) {
print
"a is bigger than b";
}
elseif
($b>$a) {
print
"a is not bigger than b";
}
else {
print
"a and b are the same";
}
?>
ผลที่ได้ : a is not bigger than
b
การใช้ Switch
ตัวอย่าง
<?
$i=2;
switch ($i)
{
case 0:
print "i equals 0"; break;
case 1:
print "i equals 1"; break;
case 2:
print "i equals 2"; break;
}
?>
ผลที่ได้ : i equals 2
การใช้ลูป
การใช้ While Loop
ตัวอย่าง
<?
$i=1 // ให้ค่าเริ่มต้น
while ($i<=5)
{
print $i;
$i++;
}
?>
ผลที่ได้ : 12345
ใช้ Do while ก็ได้ แต่ผลที่ได้ จะแตกต่างจาก While Loop ในบางกรณี
เพราะจะทำงานภายใน loop ก่อนที่จะตรวจสอบ condition
ตัวอย่าง
<?
$i=5 // ให้ค่าเริ่มต้น
do {
print $i;
$i++;
} while
($i<=5);
?>
ผลที่ได้ : 5
สรุปว่า
กรณีที่ใช้
While...Loop จะทำการตรวจสอบเงื่อนไขก่อน
แล้วจึงค่อยทำในลูป
กรณีที่ใช้
Do...Loop
จะทำคำสั่งในลูปก่อน แล้วจึงค่อยตรวจสอบเงื่อนไข
คำสั่ง For Loop ก็จะทำงานเหมือนกับคำสั่ง While
Loop คือ จะทำการตรวจสอบเงื่อนไขก่อน แล้วจึงค่อยทำงานในลูป
ตัวอย่าง
<?
for ($i=1;
$i <=5; $i++) {
print $i;
}
?>
ผลที่ได้ : 12345
Text ไฟล์
คำสั่งในการเปิดไฟล์
คำสั่ง fopen()
รูปแบบ
: fopen(filename,mode);
filename
: ชื่อไฟล์ที่ต้องการจะเปิด
mode
: วัตถุประสงค์ในการเปิดไฟล์ ซึ่งเราสามารถระบุได้ เช่น
ต้องการเปิดไฟล์เพื่ออ่าน หรือ เขียน
โดยมีค่า
mode ดังนี้
r หมายถึง เปิดไฟล์เพื่ออ่านอย่างเดียว เช่น
ใช้ในการอ่านข้อมูลจากไฟล์
r+ หมายถึง
เปิดไฟล์เพื่ออ่านและเขียน
w,w+ หมายถึง
เปิดไฟล์เพื่อเขียนข้อมูลลงไป
ถ้ามีไฟล์อยู่แล้วข้อมูลเดิมจะถูกลบหมดและถ้ายังไม่มีไฟล์ดังกล่าว
ก็จะทำการเปิดไฟล์ใหม่ให้เลย
a หมายถึง
เปิดไฟล์เพื่อเพิ่มข้อมูล เช่น ในการเพิ่มข้อมูลใหม่ลงไป
a+ หมายถึง
เปิดไฟล์เพื่อเพิ่มข้อมูล เช่น ในการเพิ่มข้อมูลใหม่ลงไป และถ้ายังไม่มีไฟล์
ก็จะทำการสร้างใหม่ให้เลย
ตัวอย่าง
$fp =
fopen("data.txt","r");
หมายถึง ทำการเปิดไฟล์ที่ชื่อ
data.txt
เพื่ออ่านอย่างเดียว
ตัวแปร $fp จะเป็นหมายเลขอ้างอิงไฟล์ที่เราเปิด
คำสั่งในการเขียนข้อมูลลงในไฟล์
คำสั่ง
fputs()
, fwrite()
รูปแบบ
: fputs(fp,text,[length]);
รูปแบบ
: fwrite(fp,text,[length]);
fp : หมายเลขอ้างอิงไฟล์
text : เป็นตัวแปรชนิดข้อความ หรือ ข้อข้อความที่จะใช้เขียนลงในไฟล์
lenght : จำนวนตัวอักษรที่จะใช้เขียนลงไฟล์ จะระบุหรือไม่ก็ได้
หมายเหตุ
คำสั่ง fputs และ
fwrite ทำหน้าที่เหมือนกัน
และเมื่อเราทำการเขียนข้อมูลลงไฟล์จนเสร็จเรียบร้อยแล้ว
เราก็ต้องปิดไฟล์ทั้งหมดที่เราเปิดด้วยคำสั่ง
fclose(fp);
ตัวอย่าง
<?
$fp =
fopen("mydata.txt","w");
fwrite($fp,"สวัสดีครับเจ้านาย");
fclose($fp);
?>
ผลที่ได้ :
จะได้ไฟล์ที่ชื่อว่า mydata.txt ซึ่งจะอยู่ในไดเรกทอรีเดียวกับ
เว็บเพจที่ถูกเรียก
และในไฟล์ mydata.txt
จะมีข้อความว่า สวัสดีครับเจ้านาย อยู่ในนั้น
คำสั่งในการอ่านข้อมูลจากในไฟล์
คำสั่งที่ใช้
file_exists()
, fgets() , file() , sizeof()
เรามาดู 2
คำสั่งแรกกันก่อนครับ
คำสั่ง
file_exists()
, fgets()
รูปแบบ
: file_exists(filename);
รูปแบบ
: fgets(fp,length);
คำสั่ง file_exists() ใช้ในการตรวจสอบว่าไฟล์ที่เราจะเปิดนั้นมีอยู่จริงหรือไม่
ส่วนคำสั่ง fgets() ใช้ในการอ่านข้อมูลจากไฟล์
ตัวอย่าง
<?
$filename =
"mydata.txt";
if
(file_exists($filename))
{
echo "มีไฟล์ที่ชื่อว่า $filename";
$fp =
fopen($filename,"r");
while($data
= fgets(fp,100))
{
echo $data;
}
}
else
{
echo "ไม่มีไฟล์ที่ชื่อว่า $filename";
}
?>
ผลที่ได้ :
อันดับแรก
กำหนดให้ตัวแปรชื่อ $filename มีค่าเท่ากับ "mydata.txt"
หลังจากนั้นก็จะทำการตรวจสอบว่ามีไฟล์ที่ชื่อว่า
mydata.txt
อยู่หรือไม่
ถ้ามีไฟล์ดังกล่าวอยู่
ให้แสดงข้อความว่า มีไฟล์ที่ชื่อว่า mydata.txt
และทำการวนลูปเพื่ออ่านข้อมูลจากไฟล์ขึ้นมาแสดง
โดยให้เก็บไว้ที่ตัวแปรที่ชื่อว่า $data
ซึ่งจะทำการเก็บครั้งละ
100 ตัวอักษร
จะเห็นได้ว่า
เราใช้ while...loop
มาช่วยในการอ่านข้อมูลจาก text ไฟล์
เมื่อ $data เท่ากับบรรทัดสุดท้ายของไฟล์
ซึ่งหมายความว่าอ่านข้อมูลจนหมดแล้ว
ระบบจะส่งค่า
EOF มาให้กับ $data ทำให้หลุดออกจาก loop และทุกครั้งที่สามารถ
อ่านข้อมูลได้
ก็จะทำการแสดงข้อมูลที่หน้าจอด้วย
และถ้าตอนแรกตรวจสอบแล้วไม่พบไฟล์ที่ชื่อว่า
mydata.txt
ก็ให้แสดงคำว่า
ไม่มีไฟล์ที่ชื่อว่า
mydata.txt
ทำไมต้องกำหนดให้
length ในคำสั่ง fgets มีค่าเท่ากับ 100
ก็เพราะว่าใน
text ไฟล์ส่วนใหญ่ 1 บรรทัดจะมีไม่เกิน 100 ตัวอักษร
และถ้าบรรทัดไหนที่มีไม่ถึง
100 ตัวอักษร ก็จะทำการอ่านเท่าที่มีอยู่ในแต่
ละบรรทัดนั้นๆ
ครับ :)
วิธีการอ่านไฟล์อีกแบบโดยใช้คำสั่ง
file()
, sizeof()
วิธีการนี้จะเป็นการอ่านไฟล์ทีละบรรทัดลงในตัวแปรอาร์เรย์
รูปแบบ
: file(filename);
รูปแบบ
: sizeof(array);
ตัวอย่าง
<?
$filename =
"mydata.txt";
$line =
file($filename);
for($i=0 ;
$i < sizeof($line) ; $i++)
{
echo
$line[$i],"<br>"
}
?>
ผลที่ได้ :
กำหนดให้ $filename มีค่าเท่ากับ "mydata.txt"
ทำการอ่านข้อมูล
แล้วนำมาเก็บในตัวแปรอาร์เรย์ที่ชื่อว่า $line
ทำการวนลูป
ตั้งแต่อาร์เรย์ลำดับที่ 1 จนไปถึงลำดับสุดท้าย
แล้วทำการแสดงข้อมูลออกมา
เราจะใช้คำสั่ง
file(filename)
เพื่อทำการอ่านข้อมูลจากไฟล์
ทั้งไฟล์ไปเก็บไว้ในตัวแปรอาร์เรย์
แล้วทำการหาขนาดของตัวแปร
อาร์เรย์จากคำสั่ง
sizeof(array)
จากนั้นถ้าเราต้องการแสดง
ผลลัพธ์
ก็เพียงแค่นำค่าจากตัวแปรอาร์เรย์มาแสดง ครับ