Sample5.php ตัวอย่างเช่น การหาค่าสัมบรูณ์ของตัวเลข
<?
function myabs ($x) {
if ($x < 0)
return -$x;
}
echo myabs(-6),"<BR>\n";
echo myabs(-4+2.034),"<BR>\n";
?>
Out Put
6
1.966
ตัวอย่าง การหาค่ามากกว่าและน้อยกว่าจากตัวเลขสองตัวและสลับที่กัน
สมมุติว่าเรามีตัวแปรอยู่สองตัว และเราต้องการจะตรวจดูว่า ตัวแปรตัวแรกมีค่าน้อยกว่าตัวแปรอีกตัวหรือไม่ ถ้าไม่ ก็ให้สลับที่กัน ปัญหานี้เราสามารถแก้ไขได้โดยเขียนฟังก์ชันดังนี้
Sample6.php
<?
function minmax (&$a,&$b) {
if ($a > $b) {
$t=$a; $a=$b; $b=$t;
}
}
$x=10;
$y=3;
echo "x=",$x,",y=",$y,"<BR>\n";
minmax($x,$y);
echo "x=",$x,",y=",$y,"<BR>\n";
?>
Out Put
x=10,y=3
x=3,y=10
ฟังก์ชัน minmax() เป็นตัวอย่างของฟังก์ชันที่ใช้หลักการของ call-by-reference โปรดสังเกตที่เครื่องหมาย & ที่วางอยู่หน้าตัวแปรที่เป็นอาร์กิวเมนต์ของฟังก์ชัน การเรียกใช้ฟังก์ชันแบบ call-by-reference ช่วยให้เราสามารถผ่านตัวแปรไปยังฟังก์ชัน และให้ฟังก์ชันสามารถเปลี่ยนแปลงแก้ไขค่าของตัวแปรนั้นได้
ฟังก์ชั่นเหล่านี้จะมีประโยชน์ในทางจัดการทางด้าน directory เมื่อต้องการจัดการ กำหนดรูปแบบผ่าน Web Brownser
ฟังก์ชั่น |
จุดมุ่งหมาย ความหมาย |
Mkdir() |
สร้าง Directory |
Rmdir() |
ลบ Directory |
chdir |
เมื่อต้องการเปลี่ยน directory |
Dir() |
ใช้สร้าง object เกียวกัน directory |
Closedir() |
ปิด directory |
opendir() |
เปิด directory |
Readdir() |
อ่านข้อมูลที่อยู่ใน Directory |
Rewinddir() |
เลือนตัวชี้เพื่อทำการเลือก ไฟล์หรือข้อมูลแรกของ Directory |
มาดูตัวอย่างกันหน่อยครับ
Sample1.php เป็นการสร้าง Folder
<?
$path="C:\Appserv\www\";
$folder="Test";
$dir=$path.$folder;
$mode="w";
$create_folder=Mkdir($dir,$mode) or die ("ไม่สามารถสร้าง Folder $folder ได้");
?>
// เพิ่มเติม เราสามารถกำหนด $mode ของไฟล์ต่าง ๆ ได้ โดย
r เปิดดอ่านอย่างเดียว
r+ เปิดเพื่ออ่านและเขียน
w , w+ เปิดเพื่อเขียน ถ้าไม่มีไฟล์จะสร้างขึ้นไหม่ ถ้ามีอยู่แล้ว จะปรับไฟล์นั้นให้เป็น 0 Byte
a เปิดเพื่อเขียนอย่างเดียว
เพิ่มเติมครับ
สำหรับการลบ Folder ก็เหมือนกันครับ แค่เปลี่ยนตรง Mkdir เป็น Rmdir
Sample2.php เป็นการแสดงชื่อไฟล์ และ Folder
<?
$direc = dir("C:\Appserv\www\");
echo "แสดง Path : ".$direc ->path."<br>";
echo "รายการต่างใน Path ".$direc->path." มีดังนี้ <Br>";
while($show_dir=$direc -> read())
{
echo $show_dir."<br>";
}
$direc -> Close();
?>
// เพิ่มเติมครับ property และ method ของ dir()
Handle เก็บค่าของ Directory
Path เก็บรายชื่อของไฟล์และ Directory
Read อ่านชื่อไฟล์ และ Directory
Rewind เปลี่ยนจุดชี้ไปยัง ไฟล์หรือ Folder แรก
Close ปิดการติดต่อกับ Directory
ฟังก์ชั่น |
จุดมุ่งหมาย ความหมาย |
รูปแบบ |
is_dir() |
ตรวจสอบชื่อไฟล์นั้นเป็น ได้เรกรอรี่หรือไม่ |
is_dir(files-name) |
is_executable() |
ตรวจสอบว่าไฟล์นั้น เอ็กซิคิวส์ได้หรือไม่ |
is_executable(files_name) |
is_file() |
ตรวจสอบว่าไฟล์นั้นเป็นไฟล์ธรรมดาหรือไม่ |
is_file(files-name) |
is_readable() |
ตรวจสอบว่าไฟล์นั้นอ่านได้หรือไม่ |
is_readable(files-name) |
is_writeable() |
ตรวจสอบว่าไฟล์นั้นเขียนได้หรือไม่ |
is_writeable(files-name) |
Readfile() |
อ่านข้อมุลจากไฟล์โดยไม่ต้องเปิดไฟล์ |
Readfile(files-name) |
Rename() |
เปลี่ยนชื่อไฟล์ |
Rename(oldname,newname) |
Rewind() |
เลือนตัวชี้ไปยังตัวแรกหรือต้นของ ไดเรคทอรี่ |
Rewind(file-handdle) |
Stat() |
แสดงรายละเอียดของไฟล์ |
Stat(filename) |
Touch() |
กำหนดเวลาในการปรับแต่งไหล์ |
Touch(files-name,[time]) |
Unlink() |
ลบไฟล์ที่ต้องการ |
Unlink(files-name) |
Basename() |
แสดงชื่อไฟล์ไม่รวม path |
Basename(path) |
chgrp() |
เปลี่ยนกลุ่มของไฟล์ |
Chgrp(files-name-group) |
Chmod() |
เปลี่ยนโหมดของไฟล์ |
Chmod(files-name,mode) |
Clearstatcache() |
Clear รายละเอียดต่างภายใน แคช |
Clearstatcache() |
Copy() |
copy ไฟล์ |
Copy(ต้นทาง,ปลายทาง) |
Dirname() |
แสดงชื่อ Directory ไม่รวม path |
Dirname(path) |
Diskfreespace() |
หาเนื้อที่ว่างใน Directory |
Diskfreespace(directory) |
Fclose() |
ปิดไฟล์ที่เปิดอยู่ |
Fclose(file_handle) |
Fwrite() |
เขียนข้อความลงไฟล์ |
Fwrite(file_hand,text) |
Ftell() |
บอกต่ำแหน่งพอยเตอร์ที่อยู่ในไฟล์ |
Ftell(file-handle) |
Fseek() |
เลือกพอยเตอร์ไปข้างหน้า |
Fseek(file_handle,offset) |
Fread() |
อ่านข้อมูลจากไฟล์ สามารถระบุจำนวนความยาวที่จะอ่านได้ |
Fread(file_handle,lenth) |
Fputs() |
เขียนข้อความลงไฟล์ ถ้าไฟล์มีอยู่แล้ว จะลบไฟล์เก่าและเขียนทับ |
Fputs(files-name,text) |
Fopen() |
เปิดไฟล์ |
Fopen(files-name,mode) |
Filetype() |
ตรวจสอบประเภทไฟล์ |
Filetype(files-name) |
Filesize() |
ตรวจสอบขนาดไฟล์ |
Filesize(files-name) |
Fileperms() |
ตรวจสอบการกำหนดสิทธ์ของไฟล์ |
Fileperms(files-name) |
Fileowner() |
ตรวจสอบชื่อผู้สร้างไฟล์ |
Fileowner(files-name) |
Filemtime() |
ตรวจสอบว่า update ครั้งล่าสุดเมื่อใด |
Filemtime(files-name) |
Filegroup() |
ตรวจสอบกลุ่มของไฟล์ |
Filegroup(files-name) |
Filectime() |
ตรวจสอบไฟล์ถูกสร้างเมื่อไหร่ |
Filectime(files-name) |
Fileatime() |
ตรวจสอบไฟล์ถูหใช้งานครั้งสุดท้ายเมื่อไหร่ |
Fileatime(files-name) |
File_exists() |
ตรวจสอบไฟล์นั้นมีอยู่จริงหรือไม่ |
File_exists(files-name) |
File() |
อ่านไฟล์แต่ละบรรทัดลงใน Array |
File(files-name) |
Fgetss() |
อ่านข้อมูลแต่ละบรรทัดหรือแต่ละอักษร โดยตัด แท็ก Html ออก |
Fgetss(file_handle,length) |
Fgets() |
อ่านข้อมูลแต่ละบรรทัดหรือแต่ละอักษร |
Fgets(file_handle,length) |
Fgetc() |
อ่านข้อมูลที่ละอักษร |
Fgetc(file_handle) |
Feof() |
ตรวจสอบว่า พอยเตอร์เลื่อนไปอยู่ท้ายไฟล์หรือไม่ |
Feof(file_handle) |
มาดูตัวอย่างกันหน่อยครับ
Sample1.php เป็นการแสดงรายละเอียดต่าง ๆ ของไฟล์ index.html อยู่ใน Directory
C:\Appserv\www\index.html
<?
$files="C:\Appserv\www\index.html";
echo"<br>Dirname คือ ".Dirname($files);
echo"<br>Basename คือ ".Basename($files);
echo"<br>Filetype คือ ".Filetype($files);
echo"<br>Filesize คือ ".Filesize($files);
echo"<br>Fileperms คือ ".Fileperms($files);
echo"<br>Fileowner คือ ".Fileowner($files);
echo"<br>Filemtime คือ ".Filemtime($files);
echo"<br>Filegroup คือ ".Filegroup($files);
echo"<br>Filectime คือ ".Filectime($files);
echo"<br>Fileatime คือ ".Fileatime($files);
echo"<br>is_dir คือ ".is_dir($files);
echo"<br>is_file คือ ".is_file($files);
echo"<br>is_readable คือ ".is_readable($files);
echo"<br>is_writeableคือ ".is_writeable($files);
?>
Out Put

File
ตัวอย่างการสร้างไฟล์
<?
$FILE =fopen("thaicreate.txt","w");
fputs( $FILE, "Test Create File\n");
fclose($FILE);
echo " สร้างไฟล์สำเร็จ";
?>
ตัวอย่างต่อไปนี้เป็นการเปิดไฟล์ขึ้นมาจากนั้นให้เขียนต่อข้อมูลที่มีอยู่แล้ว
<?
$FILE =fopen("thaicreate.txt","a");
fputs( $FILE, "ในส่วนนี้เป็นการเขียนต่อจากข้อมูลเดิม\n");
fclose($FILE);
?>
ลองมาดูอีกตัวอย่างครับ
<?
//-----ThaiCreate.Com By @W_IN----//
$nome = "นายวีระชัย นุกิจรัมย์";
$address = "กรุงเทพมหานคร";
$email = "is_php@hotmail.com";
$desc.= " ชื่อ : $nome ";
$desc.= " ที่อยู่ : $address";
$desc.= " อีเมล์ : $email ";
$filename = "C:\ThaiCreate.txt";
if (!$filename = fopen($filename, "w")) {
echo "ไม่สามารถเขียนสร้างไฟล์ ($filename)";
exit;
}
if (!fwrite($filename, $desc)) {
print "ไม่สามารถเขียนข้อมูลลงไฟล์ ($filename)";
exit;
}
echo "เขียนข้อมูลลงไฟล์สำเร็จ";
fclose($filename);
?>
ตัวอย่างนี้เป็นการอ่านข้อมูลที่มีอยู่ใน text มาแสดง
<?
$FILE =fopen("thaicreate.txt","r");
while (!feof($FILE)) {
$text = fgets($FILE, 4096);
echo $text;
}
fclose($FILE);
?>
สิ่งที่ php ได้เปรียบกว่า asp อีกมุมหนึ่งก็คือ การส่งเมลล์ ซึ่ง php ได้เตียมฟังก์ชั่นสำหรับการส่งเมลล์ใว้ให้เรียบร้อยแล้วครับ สามารถนำไปใช้และส่งได้แบบง่าย ๆ
รูปแบบ
mail(To,Subject,Massage,From);
การส่งเมลล์แบบมี header
mail($email,$subject,$messages,$header);
ตัวอย่าง
$emailto='is_php@hotmail.com';
$email_from='webmaster@thaicreate.com';
$subject='ทดสอบการส่งเมลล์';
$header="from: $email_from";
$messages.= "สวัสดีครับ \n";
$messages.= "สบายดีหรือเปล่า \n";
$messages.= "ข้อความอื่น ๆ ";
mail($emailto,$subject,$messages,$header);
เมื่อ
To คือ email ของผู้รับ
Subject คือ หัวข้อชื่อเรื่ง
Massage คือ ข้อความรายละเอียด
From คือ header ที่จะใช้แทน sendmail_from เช่น อีเมลล์ผู้ส่ง สำเนา จะไม่มีก็ได้
Sample1.php
<?
$To="is_asp@hotmail.com";
$Subject="ทดสอบการส่งเมลล์";
$Massage="ทดสอบการส่งเมลล์ครับ ได้รับแล้วตอบด้วย";
$From="is_php@hotmail.com ";
mail($To,$Subject,$Massage,$From);
?>
** การส่งเมล์โดยให้สามารถแทรก html ได้
$emailto='is_php@hotmail.com';
$email_from='webmaster@thaicreate.com';
$subject='ทดสอบการส่งเมลล์';
$header.= "Content-type: text/html; charset=windows-874\n";
$header.="from: $email_from";
$messages.= "<b>สวัสดีครับ</br>";
$messages.= "สบายดีหรือเปล่า<br>";
$messages.= "ข้อความอื่น ๆ<br> ";
mail($emailto,$subject,$messages,$header);
หรือจะประยุกต็ใช้กับ Form ก็ได้ครับ
Sample2.php
<html>
<body bgcolor="#FFFFFF">
<p>ทดสอบการส่งเมลล์ครับ</p>
<form name="form1" method="post" action="Sample3.php">
อีเมลล์ผู้รับ
<input type="text" name="To">
<br>
ชื่อเรื่อง หัวข้อ
<input type="text" name="Subject">
<br>
ข้อความ
<textarea name="Massage" rows="5" cols="50"></textarea>
<br>
ผู้ส่ง
<input type="text" name="From">
<br>
<input type="submit" name="Submit" value="ส่งเมลล์">
</form>
</body>
</html>
Out Put

Sample3.php
<?
$send_mail=mail($To,$Subject,$Massage,$From);
if(!$send_mail)
{
echo"ยังไม่สามารถส่งเมลล์ได้ในขณะนี้";
}
else
{
echo "ส่งเมลล์สำเร็จ";
}
?>
Out Put

สำหรับฟังก์ชั่นเกี่ยวกับข้อความ PHP ได้เตรียมใว้เหมือนกันครับ สำหรับหากใครเคยเรียนภาษา C มาก่อนคงจะคุ้น ๆ ใช้ไหมครับ รูปแบบการใช้งานก็คล้ายๆ กับภาษา C ครับ เรามารู้จักฟังก์ชั่นที่จะสามารถนำไปใช้งานกันดีกว่าครับ
ฟังก์ชั่น |
จุดมุ่งหมาย ความหมาย |
strlen() |
หาความยาวของข้อความ |
strpos() |
หาตำแหน่งข้อความที่ค้นพบอยู่ในขณะนั้น |
strrchr() |
ตัดข้อความจากตัวสุดท้ายที่พบจนถึงตัวท้ายสุด |
str_repeat() |
แสดงข้อความซ้ำ ๆ ตามความต้องการ |
strrev() |
เรียงสลับข้อความจากหลังไปหน้า |
strrpos() |
หาต่ำแหน่งสุดท้ายที่ค้นพบ |
strstr() |
ตัดข้อความบางส่วนตั้งแต่ตัวแรกที่ค้นพบจนถึงตัวสุดท้าย |
strtolower() |
แปลงข้อความให้เป็นตัวพิมพ์เล็ก |
strtoupder() |
แปลงข้อความให้เป้นตัวพิมพ์ใหญ่ |
str_replace() |
เปลี่ยนข้อความที่ค้นพบด้วยข้อความใหม่ที่ต้องการ |
strtr() |
แปลงตัวอักษรที่แน่นอน |
substr() |
ตัดตัวอักษรที่ต้องการใช้ออกมา |
substr_replace() |
เปลี่ยนข้อความภายในส่วนของข้อความ |
trim() |
ตัดช่องว่างด้านหน้าและด้านหลังข้อความ |
ucfirst() |
เปลี่ยนตัวอักษรตัวแรกของข้อความให้เป็นตัวพิมพ์ใหญ่ |
ucwords() |
เปลี่ยนอักษรตัวแรกของแต่ละคำในข้อความ |
stristr() |
ตัดข้อความบางส่วนตั้งแต่ตัวแรกที่พบจนถึงตัวสุดท้าย ทั้งตัวพิมพ์เลก็กและพิมพ์ใหญ่ |
strip_tags() |
ตัดแท็ก php และ Html ออกจากข้อความ |
strchr() |
ตัดข้อความบางส่วนตั้งแต่ตัวแรกที่พบจนถึงตัวสุดท้าย |
sprintf() |
ให้ค่าของข้อความที่มีรูปแบบ |
similar_text() |
คำนวณความเหมือนระหว่าง 2 ข้อความ |
setlocale() |
ปรับค่าข้อมูลท้องถิ่น |
prinf() |
แสดงผลข้อความที่มีรูปแบบ |
prin() |
แสดงผลข้อความ |
parse_str() |
รับค่าข้อความใว้ในตัวแปร |
Ord() |
แปลงตัวอักษรเป็นรหัส ASCII |
ltrim() |
ตัดข้อความด้านหน้าข้อความออกไป |
join() |
รวม Array เป็นข้อความ |
implode() |
รวม Array เป็นข้อความ |
htmlspecialchars() |
แสดงแท็ก Html |
flush() |
เคลียร์บัฟฟอร์ |
eregi_replace() |
แทนที่ข้อความที่ค้นพบด้วยคำที่ต้องการ โดยไม่สนใจว่าจะเป็นตัวพิมพ์เล็กหรือใหญ่ |
ereg_replace() |
แทนที่ข้อความที่พบด้วยคำที่ต้องการ |
explode() |
แยกข้อความโดยใช้เครื่องหมายแยก |
echo() |
แสดงผลข้อความ |
Chr() |
แปลงรหัส ASCII เป็นตัวอักษร |
Chop() |
ตัดช่องว่างท้ายข้อความออกไป |
มาดูตัวอย่างประกอบกันหน่อยครับ
Sample1.php เป็นการหาความยาวของข้อความ
<?
$text="My Name is Werachai Nukitram";
echo"ความยาวเท่ากับ ".strlen($text)." ตัวอักษร";
?>
Out Put
ความยาวเท่ากับ 28 ตัวอักษร
Sample2.php เป็นการแสดงข้อความซ้ำหลายรอบ
<?
$text="อยากบอกรักคุณซะ 5 ครั้ง";
echo str_repeat($text,5);
?>
Out Put
อยากบอกรักคุณซะ 5 ครั้งอยากบอกรักคุณซะ 5 ครั้งอยากบอกรักคุณซะ 5 ครั้งอยากบอกรักคุณซะ 5 ครั้งอยากบอกรักคุณซะ 5 ครั้ง
Sample3.php เป็นการแปลงข้อความให้เป็นตัวพิมพ์ และ พิมพ์ใหญ่
<?
$text="My Name is Werachai Nukitram";
echo"ตัวพิมพ์เล็กจะได้ ".strtolower($text)."<br>";
echo"ตัวพิมพ์ใหญ่จะได้ ".strtoupper($text)."<br>";
?>
Out Put
ตัวพิมพ์เล็กเป็น my name is werachai nukitram
ตัวพิมพ์ใหญ่เป็น MY NAME IS WERACHAI NUKITRAM
Sample3.php เป็นการสลับข้อความจากด้านหน้ามาด้านหลัง
<?
$text="My Name is Werachai Nukitram";
echo"เรียวข้อความจากหลังไปหน้าจะได้ ".strrev($text)."<br>";
?>
Out Put
เรียงข้อความจากหลังไปหน้าจะได้ martikuN iahcareW si emaN yM
Sample4.php เป็นการหาต่ำแหน่งของข้อความที่ต้องการ
<?
$text="My Name is Werachai Nukitram";
echo"หาตำแหน่งตัวแรกที่ค้นพบ e อยู่ที่ ".strpos($text,e);
echo"<br>หาตำแหน่งตัวสุดท้ายที่ค้นพบ e อยู่ที่ ".strrpos($text,e);
?>
Out Put
หาตำแหน่งตัวแรกที่ค้นพบ e อยู่ที่ 6
หาตำแหน่งตัวสุดท้ายที่ค้นพบ e อยู่ที่ 12
TOP |