พื้นฐานการเขียนภาษา PHP

ผู้เรียนสามารถแทรกภาษา PHP ในเอกสาร     HTML ได้ โดยจะเริ่มต้นด้วยแท็ก เปิด และ ปิด ดังนี้ 

<?php
// แทรกโค้ดภาษา PHP บริเวณนี้
?>

นามสกุลของการเขียนภาษา PHP คือ ".php"

ไฟล์ PHP ปกติจะประกอบด้วยโค้ดภาษา HTML และ PHP ปนๆกันในไฟล์เดียว 

ตัวอย่างไฟล์ ที่ผู้เรียนจะเริ่มต้นเขียน ง่ายๆ ดังนี้ 

โดยจะมีรูปแบบการแสดงผลข้อมูลง่ายโดยใช้คำสั่ง "echo" ตามด้วยข้อความที่ต้องการแสดง 

<!DOCTYPE html>
<html>
<body>

<h1>หน้าแรกการฝึกเขียนภาษา PHP</h1>

<?php
echo "Hello World!";
?>


</body>
</html>


ในภาษา PHP คำสำคัญหรือ keywords (เช่น ifelsewhileecho, etc.), classes, functions, and user-defined functions are not case-sensitive. 

จะไม่มีผลตัวพิมพ์ใหญ่ หรือตัวพิมพ์เล็ก สามารถใช้ได้ทั้งสองแบบ และแสดงผลเหมือนกัน เช่น

<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>

แต่ถ้าเป็นการกำหนดตัวแปร ให้ระวัง Case-Sensitive เพราะตัวใหญ่และตัวเล็กมีผลที่แตกต่างกันเช่น 

<?php
$color = "red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>


ตัวแปร$color จะมีผลทันที จึงต้องระวังเวลากำหนดชื่อของตัวแปร 

การเขียน Comments in PHP

ในส่วนนี้จะไม่มีผลต่อการทำงานของโค้ดภาษา แค่ต้องการอธิบายหรือกำกับข้อความ เวลามาดูหรือทบทวนทีหลัง โดยจะเขียนได้ 2 ลักษณะคือ 

เขียนแค่ 1 บรรทัด

<?php
// This is a single-line comment

# This is also a single-line comment
?>

และเขียนแบบหลายบรรทัด 

<?php
/*
This is a multiple-lines comment block
that spans over multiple
lines
*/

?>

การประกาศค่าตัวแปร Creating (Declaring) PHP Variables

ตัวแปร เทียบได้กับกล่องหรือภาชนะ ที่ใส่หรือเก็บข้อมูล ข้อความหรือตัวเลข สำหรับภาษา PHP จะประกาศค่าตัวแปรด้วย $และชื่อตัวแปร เช่น

<?php
$txt = "Hello world!";
$x = 5;
$y = 10.5;
?>

การแสดงผลค่าตัวแปร Output variables จะเรียกใช้คำสั่ง echo และเครื่องหมายคำพูด 

<?php
$txt = "thaifreewaredownload.com";
echo "I love $txt!";
?>

การประกาศค่าตัวแปรภาษา PHP สามารถประกาศ ณ จุดใดก็ได้ โดยแบ่งออก 3 แบบด้วยกันคือ 

  • local
  • global
  • static
สำหรับ global กับ local จะแตกต่างกันที่การประกาศใน Function หรือนอก Fucntion เช่น
<?php
$x = 5// global scope

function myTest() {
  // using x inside this function will generate an error
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";
?>
ผลการทดสอบจะพบว่า ตัวแปร x อยู่นอกฟังก์ชันจะได้คำตอบที่ถูกต้อง 

สำหรับ local จะประกาศภายในฟังกชัน ค่าที่ได้ก็ต้องดูว่าแบบไหนที่จะแสดงผลถูกต้อง
<?php
function myTest() {
  $x = 5// local scope
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>

บางครั้งที่เราประกาศค่าตัวแปร และใช้งานผลการประกาศค่าตัวแปรแล้ว ปกติจะถูกลบออกหรือหายไป แต่ถ้าเราต้องการจะใช้งานตัวแปรต่อ จึงใช้แบบ static หรือค่าคงที 
<?php
function myTest() {
  static $x = 0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();
?>
ชนิดของข้อมูล PHP 

PHP Data Types

Variables can store data of different types, and different data types can do different things.

PHP supports the following data types:

  • String
  • Integer
  • Float (floating point numbers - also called double)
  • Boolean
  • Array
  • Object
  • NULL
  • Resource
ชนิดข้อมูลแบบข้อความหรือ string 
<?php
$x = "Hello world!";
$y = 'Hello world!';

echo $x;
echo "<br>";
echo $y;
?>
กำหนดตัวแปร เพื่อแทนที่ข้อความ และ echo ออกมาแสดงผลข้อความ สามารถเขียนในเครื่องหมายคำพูด 'single quote' และ "double quote" ก็ได้
ชนิดข้อมูลแบบตัวเลข จำนวนเต็ม integer เป็นจำนวนเต็มบวก หรือเต็มลบ ห้ามเป็นจุดทศนิยม เช่น 
<?php
$x = 5985;
var_dump($x);
?>

โดยจะใช้คำสั่ง var_dump(ชื่อตัวแปร); เพื่อแสดงผล output ข้อมูลออกมา

------ ชนิดข้อมูล Float แสดงข้อมูลจำนวนทศนิยม หรือเลขยกกำลัง ---------
<?php
$x = 10.365;
var_dump($x);
?>

----- ชนิดข้อมูลแบบ boolean --------------
แสดงข้อมูล 2 ค่า คือ จริงกับเท็จ 
$x = true;
$y = false;

------- array --------------เก็บข้อมูลหลายค่าใน 1 ตัวแปร 

An array stores multiple values in one single variable.

In the following example $cars is an array. The PHP var_dump() function returns the data type and value:

เช่นประกาศค่าตัวแปรชื่อ $cars ซึ่งภายในมีข้อมูลของรถ หลายยี่ห้อ เป็นต้น 

<?php
$cars = array("Volvo","BMW","Toyota");
var_dump($cars);
?>

---------- ชนิดข้อมูลวัตถุหรือ object --------------

Classes and objects are the two main aspects of object-oriented programming.

A class is a template for objects, and an object is an instance of a class.

เมื่อ class และ object มีความสัมพันธ์กันที่เชื่อมโยงกัน มองว่า classes คือรถยนต์ car ซึ่งจะมี objects หรือส่วนประกอบหลายๆ ส่วนขึ้นมาเป็นรถยนต์ เช่น รุ่น สี เป็นต้น และผู้ใช้งานสามารถกำหนดค่าตัวแปร เพื่อเก็บข้อมูลเหล่านี้ 

When the individual objects are created, they inherit all the properties and behaviors from the class, but each object will have different values for the properties.

Let's assume we have a class named Car. A Car can have properties like model, color, etc. We can define variables like $model, $color, and so on, to hold the values of these properties.

When the individual objects (Volvo, BMW, Toyota, etc.) are created, they inherit all the properties and behaviors from the class, but each object will have different values for the properties.

If you create a __construct() function, PHP will automatically call this function when you create an object from a class.

ตัวอย่างการเขียนโค้ด PHP ในรูปแบบข้อมูล class และ object

<?php
class Car {
  public $color;
  public $model;
  public function __construct($color, $model) {
    $this->color = $color;
    $this->model = $model;
  }
  public function message() {
    return "My car is a " . $this->color . " " . $this->model . "!";
  }
}

$myCar new Car("black""Volvo");
echo $myCar -> message();
echo "<br>";
$myCar new Car("red""Toyota");
echo $myCar -> message();
?>

-----------ชนิดข้อมูล NULL --------------

Null is a special data type which can have only one value: NULL.

ค่าว่าง สำหรับใช้งานที่ต้องการค่าว่าง 

<?php
$x = "Hello world!";
$x = null;
var_dump($x);
?>


-----------------การจัดการข้อมูลที่เป็นข้อความ string function

ที่สำคัญและพบบ่อย 

คำสั่งภาษา PHP strlen() function returns the length of a string. 

เพื่อนับจำนวนอักษรข้อความ 

<?php
echo strlen("Hello world!"); // outputs 12
?>

PHP str_word_count() นับจำนวนคำของข้อความ

<?php
echo str_word_count("Hello world!"); // outputs 2
?>

PHP strrev() กลับทิศทางของข้อความ 

<?php
echo strrev("Hello world!"); // outputs !dlrow olleH
?>

PHP strpos() ค้นหาข้อความตามที่ระบุ 

<?php
echo strpos("Hello world!""world"); // outputs 6
?>

Tip: The first character position in a string is 0 (not 1)

str_replace() แทนที่ข้อความใน string เช่น

<?php
echo str_replace("world""Dolly""Hello world!"); // outputs Hello Dolly!
?>

แทนที่คำว่า world ด้วย Dolly

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

ชนิดข้อมูลจำนวน Number

PHP จะมีคำสั่งในการตรวจสอบข้อมูลจำนวนและตัวเลข 

  • is_int()
  • is_integer() - alias of is_int()
  • is_long() - alias of is_int()
<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>

PHP จะมีคำสั่งในการตรวจสอบชนิดข้อมูล ทศนิยมและเลขยกกำลัง  float:

  • is_float()
  • is_double() - alias of is_float()
<?php
$x = 10.365;
var_dump(is_float($x));
?>

PHP มีคำสั่งตรวจสอบจำนวนจำกัด หรือไม่จำกัด  finite or infinite:
  • is_finite()
  • is_infinite()
<?php
$x = 1.9e411;
var_dump($x);
?>

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

PHP มีคำสั่งตรวจสอบว่าไม่ใช่จำนวน  is not a number:

  • is_nan()
<?php
$x = acos(8);
var_dump($x);
?>
----------------
PHP is_numeric() สำหรับตรวจสอบว่าเป็นจำนวนตัวเลข
<?php
$x = 5985;
var_dump(is_numeric($x));

$x = "5985";
var_dump(is_numeric($x));

$x = "59.85" + 100;
var_dump(is_numeric($x));

$x = "Hello";
var_dump(is_numeric($x));
?>
----------------------------
The (int), (integer), or intval() สำหรับแปลงจำนวนทศนิยมและข้อความให้เป็นตัวเลข 
<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>
-------------------------
สูตรทางคณิตกับ PHP
หาค่าประมาณของค่าพาย PI
<?php
echo(pi()); // returns 3.1415926535898
?>
---------------
The min() and max() สำหรับหาค่าต่ำสุดสูงสุด
<?php
echo(min(01503020, -8, -200));  // returns -200
echo(max(01503020, -8, -200));  // returns 150
?>
--------------------
The abs() function หาค่าสัมบูรณ์ของจำนวน เช่น 
<?php
echo(abs(-6.7));  // returns 6.7
?>
----------------------
The sqrt() function หาค่ารากที่สองของจำนวน เช่น 
<?php
echo(sqrt(64));  // returns 8
?>
----------------------
The round() function สำหรับปัดเศษทศนิยม เป็นจำนวนเต็ม
<?php
echo(round(0.60));  // returns 1
echo(round(0.49));  // returns 0
?>
------------------------
The rand() function สำหรับสุ่มจำนวน
<?php
echo(rand());
?>
สุ่มแบบระบุขั้นต่ำ และค่าสูงสุด
<?php
echo(rand(10100));
?>

Clipchamp ฟรีแวร์ตัดต่อวีดีโอจากค่าย Microsoft

 แนะนำฟรีแวร์โปรแกรมตัดต่อวีดีโอ clipChamp สำหรับผู้สนใจงานตัดต่อวีดีโอด้วยคอมพิวเตอร์ จุดเด่นของโปรแกรม 

มีทั้ง online และดาวโหลดติดตั้งบน Desktop 

การดาวโหลด ต้อง Login ด้วยอีเมล หรือ gmail หรือ FB 

ดาวโหลดลิงค์ Clipchamp

เดิมใน windowsXP/7/8 จะมีโปรแกรมตัดต่ออย่าง MOVIE MAKER แถมมาด้วย ปัจจุบันเป็น WINDOWS10/11 ทาง Microsoft เลยแถมตัว ClipChamp มาให้ ซึ่งจะมีประสิทธิภาพและความสามารถในการทำงานตัดต่อคลิปวีดีโอที่เหนือกว่า Movie maker หลายเท่าทีเดียว

โดยจะมีแม่แบบ Template ที่ทันสมัย ในการเลือก การบันทึกหน้าจอ หรือนำเข้าไฟล์คลิปวีดีโอในการตัดต่อ การใส่ลูกเล่น ข้อความ ภาพ และเสียงประกอบ การใส่ตัวเปลี่ยนซีน transition การอัดเสียงบรรายายหน้าจอ เป้นต้น 

การส่งออกเป็นไฟล์ MP4 เพื่อเปิดใช้งานบนเว็บหรือเครื่องเล่นต่าง ต่อไป 

สำหรับคนที่สนใจโปรแกรมฟรีแวร์ สำหรับการตัดต่อวีดีโอ สนุกๆ หรืองานนำเสนอเล็กๆ น้อยๆ ในโอกาสพิเศษต่างๆ ก็สามารถดาวโหลดมาศึกษา และใช้งานกันได้ฟรีครับ 



HOW to install LAMP on UBUNTU SERVER 20.04 LTS

sudo apt update

sudo apt upgrade

How to check if LAMP is installed on The machine.

systemctl status apache2

apachectl -v





CMD to install Apache2

apt install apache2

Then will be installing MYSQL

apt install mysql-server

mysql -V

CMD to check if mysql is running?

service mysql status



วิธีการติดตั้ง Apache2 บน Ubuntu Server 20.04 LTS

  Apache2 เป็นโปรแกรมยอดนิยมที่ใช้งานบริการเว็บไซต์ รองรับการใช้งานกับระบบ Windows ,Linux และ Mac OS

มาดูขั้นตอนการติดตั้ง Apcahe2 บนแม่ข่ายลีนุกส์ Ubuntu กัน 

เริ่มจากคำสั่ง 

sudo apt update

เพื่อดูว่ามีอะไรใหม่ๆ จากนั้น ก็เรียกคำสั่งในการติดตั้งบริการเว็บเซิฟร์เวอร์ 

sudo apt install apache2

หลังติดตั้งเสร็จ สามารถตรวจสอบเวอร์ชั่นของ Apache2 ได้ ด้วยคำสั่ง

apache2 -version

การเปิดไฟร์วอลเพื่ออนุญาตสิทธิการเข้าถึง ใช้คำสั่ง

sudo ufw allow ‘Apache’

แอดมินหรือผู้ศึกษาระบบ สามารถใช้คำสั่งเพื่อตรวจสอบสถานะการทำงานของ Apache2 ดังนี้ 

sudo systemctl status apache2

หรือจะลองใช้คำสั่ง 

hostname –I

ซึ่งจะแสดงค่าหมายเลข ip address ของเครื่องแม่ข่าย  สามารถนำไปพิมพ์ในที่อยู่ของ 

web browser ได้ เพื่อที่จะทดสอบระบบการให้บริการเวบ


การสร้าง Host เสมือนใน Apache2

ขั้นตอนแรกสร้างโฟลเดอร์ขึ้นมาเพื่อเก็บไฟล์ข้อมูลเวบไซต์ของเรา 

 sudo mkdir -p /var/www/mywebsite.com/html

ขั้นต่อมาเปลี่ยนสิทธิการเป็นเจ้าของโฟลเดอร์เป็นผู้ใช้งานปัจจุบัน ด้วยคำสั่ง 

sudo chown -R $USER:$USER /var/www/mywebsite.com/html

ขั้นต่อมาอนุญาตสิทธิการบันทึกและเขียนไฟล์ของโฟลเดอร์ ด้วยคำสั่ง

sudo chmod -R 755 /var/www/mywebsite.com


ขั้นตอนการสร้างหน้าตัวอย่าง เวบไซต์ 

nano /var/www/mywebsite.com/html/index.html

โดยคำสั่ง NANO จะเป็นการสร้างไฟล์ข้อความง่ายๆ 

<html>
<head>
<title>Welcome to mywebsite.com!</title>
</head>
<body>
<h1>You are running mywebsite.com on Ubuntu 20.04!</h1>
</body>
</html>

การ Save ให้กดแป้น Ctrl+O และกดแป้น  Ctrl+X เพื่อแก้ไขไฟล์ 


ขั้นต่อมาสร้าง โฮสต์ไฟล์จำลอง ปกติ Apache2 จะมาพร้อม host file อยู่แล้ว แต่เราจะลองฝึกสร้างทดสอบสร้างไฟล์ขึ้นมา ด้วยคำสั่ง

sudo nano /etc/apache2/sites-available/mywebsite.com.conf

การ Save ให้กดแป้น Ctrl+O และกดแป้น  Ctrl+X

ขั้นตอนการ activate host ไฟล์ 

sudo a2ensite mywebsite.com.conf

ปิดค่าการทำงานของ  “000-default.conf”  คำสั่ง 

sudo a2dissite 000-default.conf

เริ่มต้นการให้บริการอีกครั้ง คำสั่ง

sudo systemctl restart apache2


ทดสอบความผิดพลาด error

sudo apache2ctl configtest

ถ้ามีค่าแสดงความผิดพลาด ใช้คำสั่งในการแก้ไข 

sudo nano /etc/apache2/conf-available/servername.conf

อาจจะเกี่ยวข้องการจดทะเบียนโดเมนเนม 

ServerName info.net

การ Save ให้กดแป้น Ctrl+O และกดแป้น  Ctrl+X

sudo a2enconf servername

sudo apache2ctl configtest


มาทำความรู้จักกับ OpenSSH

 คือโปรแกรมเครื่องมือในการบริหารจัดการเครือข่าย เพื่อเข้าถึงคอมพิวเตอร์แม่ข่าย และลูกข่ายระหว่างกัน พัฒนาโปรแกรมโดย OpenBSD ถือเป็นเครื่องมือในการสื่อสารระหว่างแม่ข่ายกับลูกข่ายในระบบ Linux ในการสื่อสารกัน และปลอดภัย 

เครื่องช่วยนักพัฒนาโปรแกรมและระบบงานในการเข้าถึงคอมพิวเตอร์เครื่องอื่นๆ ในวงแลน หรือวงอินเตอร์เน็ตได้จากทางระยะไกล Remote Accsss Service ลดเวลาและค่าใช้จ่ายในการเดินทาง 

การตั้งค่าการทำงาน 

จำเป็นต้องรู้ค่าพื้นฐานคอมแม่ข่าย Server 

คำสั่ง ip config

จะแสดงข้อมูล ip address ของเครื่อง และ subnetmask

คำสั่งดูเกตเวย์ Gateway

ip route

ip r

 ในเครื่องแม่ข่าย Linux Server คำสั่งในการตรวจสอบสถานะว่า SSH ทำงานปกติหรือไม่ 

sudo systemctl status sshd

คำสั่งในการหยุด/เริ่มการทำงานของ SSH

sudo systemctl start sshd

sudo systemctl stop sshd

วิธีการตั้งค่า SSH บนระบบปฏิบัติการลีนุ้กซ์ Ubuntu Linux

 ก่อนอื่นให้เราเปิดคำสั่ง terminal ขึ้นมา แล้วใช้คำสั่ง ตรวจสอบว่าโปรแกรม UBUNTU LINUX มีการอัพเดทหรือไม่ คือ sudo apt update

จากนั้นรันคำสั่งในการติดตั้ง SSH บนระบบด้วยคำสั่งดังนี้ 

sudo apt install openssh-server 

หลังการติดตั้งเสร็จให้เรา เรียกคำสั่ง 

sudo systemctl status ssh



ถ้าระบบติดตั้งและทำงานถูกต้องจะพบข้อความ สีเขียวว่า Active running 


กดแป้น CTRL+C เพื่อออกจากการตรวจสอบสถานะ 

คำสั่งอนุญาตการเข้าถึง Firewall 



sudo ufw allow ssh

จากนั้นเป็นตัวอย่างของการเขาถึงผ่าน SSH จะทดสอบจากเครื่องเดียวกัน หรือจะทดสอบผ่านเครื่องอื่นๆ ที่เชื่อมต่อกันในเครือข่ายวงแลนหรืออินเตอร์เน็ตวงเดียวกันก็ได้ 

โดยตรวจสอบ ip ของเครื่องลีนุ้กซ์ก่อนว่า ไอพีมีเลขอะไรบ้าง 

คำสั่ง ip a 

เช่น 192.168.74.113/24 เป็นต้น 


ไปที่คำสั่ง CMD PROMPT ของเครื่องที่ต้องการติดต่อเข้ามา พิมพ์คำสั่งลงไปคือ 

ssh kst@192.168.74.113 

พิมพ์ yes เพื่อยืนยัน

และใส่รหัสผ่านของ UBUNTU SERVER ลงไป 

ตอนนี้ระบบก็จะลิงค์ เชื่อมต่อกันผ่านระบบ ssh เรียบร้อยแล้ว