-->

สร้างไฟล์ Gen PHP File อย่างง่าย

สร้างไฟล์ Gen PHP File อย่างง่าย
สร้างไฟล์ Gen PHP File อย่างง่าย
วันนี้ลองมานั่งเขียนวิธีสร้างไฟล์ PHP อย่างง่าย เผื่อมีประโยชน์สำหรับหลายๆท่าน และเผื่อมีหลายท่านผุดไอเดีย วิธีนี้ผมว่า อาจจะประยุกต์ไปใช้งานเรื่องของการ สร้างสคริบขึ้นมาใหม่ๆ แบบเดิมๆ แต่มีความแตกต่างกันได้นะครับ

ภายในสคริบตัวนี้ ใช้ function fopen() fwrite() fclose() เท่านั้นเองครับ


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>PHP - Create</title>
</head>
<body>
 <?php 
  if (isset($_POST['sub'])) {

   $txtName = $_POST['nameFile'];
   $txtCode = $_POST['txtcode'];
   $folder = 'phpcode';

   if ( ($txtCode !='') && ($txtName!='') ) {

    if(!is_dir($folder)){
     mkdir($folder);
    }

    $namefile = str_replace('.php', '', $txtName);

    $myfile = fopen($folder.'/'.$namefile.'.php', "w") or die("Unable to open file!");
    fwrite($myfile, $txtCode);
    fclose($myfile);

    echo 'ok';
   
   }

  }
 ?>
 <form method="POST">
  <input type="text" name="nameFile" id="txt"><br>
  <textarea name="txtcode" id="" cols="30" rows="10"></textarea><br>
  <input type="submit" value="Gen PHP" name="sub"><br>
 </form>
</body>
</html>

อธิบาย code ข้างต้น 
บรรทัดที่ 1-7 คงไม่ต้องอธิบายมั้งครับ ฮ่าๆ เป็น tag html เบื้องต้นที่ต้องมีครับ ผมแนะนำนะครับสำหรับใครที่ใช้ sublime และติดตั้ง package Emmet ให้คีย์ลัดในการสร้าง tag HTML เบื้องต้น เพียงพิมพ์ ! แล้วกด Tab เท่านั้นครับ ไม่ต้องพิมพ์ให้เมื่อย

บรรทัดที่ 9 ผมจะเช็คค่าการทำงานของเจ้า $_POST ตามชื่อ tag INPUT นั้นๆครับ ซึ่ง Form ตัวนี้ ผมตั้ง Method เป็น POST ไว้ครับเลยต้องเช็คว่า isset($_POST) ครับผม ใครที่ใช้ Method แบบ GET ไว้ก็เช็คค่า $_GET ได้เลยครับ ถ้ามีการกด Submit แล้ว สคริบในบรรทัด 11-27 ก็ทำงานต่อไปครับ

บรรทัดที่ 11-13 ผมจะทำการแทนค่าที่รับจาก Form ครับ ซึ่งต้องกำหนดตัวแปรไว้ การกำหนดอย่างนี้จะสะดวกเมื่อว่าเราติส อยากเปลี่ยนชื่อ input หรือเปลี่ยน name="xxx" เป็นอย่างอื่น ก็กลับมาแก้ที่นี่ได้ง่ายไม่ต้องตามแก้หลายที่ บรรทัด 13 ผมตั้งชื่อโฟลเดอร์ไว้เป็น phpcode ครับ สามารถแก้เป็นอย่างอื่นได้ แก้ที่นี่ที่เดียว ไม่ต้องไล่แก้กันภายใน ง่ายไหมละครับ ถ้าไปยัดชื่อโฟลเดอร์ไว้ตามจุดต่างๆ ต้องไล่หากันเยอะเลย

บรรทัดที่ 15 ผมก็ทำการเช็คค่า ช่อง code และช่องชื่อไฟล์ ว่าจะต้องมีค่าครับ ปล่อยว่างไม่ได้ ซึ่งจะเช็คด้วยค่า ตัวแปรที่กำหนดไว้ที่บรรทัด 11-13 ครับ ซึ่งทั้งสองค่าที่ผมเช็คนี้สำคัญทั้งสองค่าครับ

บรรทัดที่ 17-19 ผมเช็คดูว่ามีโหลเดอร์ที่ ชื่อ $folder หรือยัง ซึ่งใช้คำสั่ง is_dir() แต่ผมใส่ !(ไม่) ไว้ด้านหน้า คือ ยังไม่มีโฟล์เดอร์ตัวนี้ใช่ไหม ถ้ายังให้สร้างโฟล์เดอร์ mkdir(); ครับ ถ้ามีแล้วมันจะไม่สร้างโฟล์เดอร์ หรือ mkdir(); ไม่ทำงานเท่านั้นเองครับ

บรรทัดที่ 21 เจ้าบรรทัดนี้เป็นการเช็คชื่อไฟล์เท่านั้นเองครับ ผมกลัวว่าบางครั้งผมลืมใส่นามสกุลไฟล์ ที่ช่องใส่ชื่อไฟล์ บางครั้งใส่ xxx.php บางครั้ง xxx เลย ก็เลยตัดปัญหาให้มัน ค้นหา และแทนที่ ซะเลย โดยใช้ function str_replace('ค้นหา','แทนที่','ข้อความ') ครับ

บรรทัดที่ 23-25 มาถึงการสั่งให้มันเขียนไฟล์ให้เราแล้วครับ ผมเปิดไฟล์ก่อนโดยใช้คำสั่ง fopen('ชื่อไฟล์','โหมดการทำงาน') ชื่อไฟล์ผมก็ระบุตำแหน่ง path หรือตำแหน่งโฟลเดอร์อย่างถูกต้อง อย่าลืม / นะครับ และโหมด ผมจะใช้ w ครับ ซึ่งเป็นโหมดเขียนอย่างเดียว และลบข้อมูลเก่าทิ้งครับ กรณีมีไฟล์เดิมอยู่นะครับ  โหมดอื่นๆมีดังนี้

  • r อ่านอย่างเดียว เริ่มต้นที่ต้นไฟล์
  • r+ อ่านและเขียน เริ่มต้นที่ต้นไฟล์
  • w เขียนอย่างเดียว โดยเปิดขึ้นมาแล้วลบข้อมูลเก่าทิ้ง ถ้าไม่มีไฟล์จะสร้างไฟล์
  • w+ อ่านและเขียน โดยเปิดขึ้นมาแล้วลบข้อมูลเก่าทิ้ง ถ้าไม่มีไฟล์จะสร้างไฟล์
  • a เขียนต่อท้าย โดยเปิดขึ้นมาแล้วเขียนต่อท้ายไฟล์ ถ้าไม่มีไฟล์จะสร้างไฟล์
  • a+ อ่านและเขียนต่อท้าย โดยเปิดขึ้นมาแล้วเขียนต่อท้ายไฟล์ ถ้าไม่มีไฟล์จะสร้างไฟล์
  • x เขียนอย่างเดียว โดยสร้างไฟล์ใหม่ ถ้ามีไฟล์แล้วจะ return error
  • x+ อ่านและเขียน โดยสร้างไฟล์ใหม่ ถ้ามีไฟล์แล้วจะ return error
credit :computer.todaygoods.com

หลังจากนั้น ใช้ function fwrite() ในการเขียนไฟล์ลงไปครับ และปิดไฟล์ด้วย fclose() ครับ เรียบร้อยเลย

บรรทัดที่ 33-37 เป็น Form ครับ ที่มี Method แบบ POST ครับ จะสำคัญเมื่อการเช็คค่าครับ ซึ่งตัวนี้ผมรับค่าแบบ POST ไว้ครับ input และ textarea ตั้งชื่อ name ให้ตรงกันเท่านั้นพอครับผม ต้องตรงกับข้อมูลบรรทัดที่ 11-13 ครับ 

เพียงเท่านี้ เราก็ได้สคริบ สร้างไฟล์ Gen PHP File อย่างง่าย แล้วครับ
สร้างไฟล์ Gen PHP File อย่างง่าย
สร้างไฟล์ Gen PHP File อย่างง่าย
code ตัวนี้เป็นเพียงจุดชี้แนะเพื่อให้ใช้งานในจุดต่างๆ หรือนำเอาไปพัฒนาต่อนะครับ หากมีข้อสงสัยสอบถามได้ครับผม ยิดดีรับฟังข้อคิดเห็นครับผม