ฟังดูเวียนหัวนิดหน่อยใช่ไหม? - - ใช้ php เพื่อดำเนินการหน้า php มีการใช้งานเพียงเล็กน้อย ในระบบ อาจมีรายการเล็กๆ น้อยๆ แต่ละรายการที่ไม่สะดวกที่จะเก็บไว้ในฐานข้อมูล แต่เรามักจะเรียกมันในหน้าอื่นและจำเป็นต้องได้รับการอัปเดต เราจึงสามารถแก้ไขด้วยวิธีนี้ ฉันพบปัญหาเล็กๆ น้อยๆ หลายประการ ซึ่งใช้เวลาครึ่งวันในการแก้ไข
ตัวอย่างเช่น ผู้ใช้จำเป็นต้องเปลี่ยนชื่อเรื่องบางอย่าง แต่เห็นได้ชัดว่าไม่เหมาะสมที่จะสร้างตารางสำหรับชื่อนี้เพียงอย่างเดียว เลยคิดจะเขียนตัวแปรนี้ลงในไฟล์ php เพื่อเรียกหน้าอื่น name.php เนื้อหาที่ต้องการจะเป็นดังนี้:
<?
$name="title";
?>
ผู้ใช้จะต้องอัปเดตคำสองคำว่า "title" แล้วเราจะนำไปใช้ได้อย่างไร:
หน้าข้อมูลการส่งแบบง่ายๆ add_name.php
<form action="addname.php" method="post">
<ประเภทอินพุต = "ข้อความ" ชื่อ = "ชื่อ" ขนาด = "20" />
<input type="submit" value="Submit" />
เพจที่ได้รับข้อมูลที่ผู้ใช้ส่งมาและประมวลผล addname.php
<?
$name=$_POST['name']; //รับค่าชื่อที่ส่งมาจาก add_name.php
if(empty($name)){/ //ตรวจสอบว่าว่างเปล่าหรือไม่
-
<ภาษาสคริปต์='จาวาสคริปต์'>
alert("ชื่อไม่สามารถเว้นว่างได้!");
document.location='add_name.php';
</สคริปต์>
-
}อื่น{
$filename="name.php"; //กำหนดไฟล์การดำเนินการ
$delline=2; //จำนวนแถวที่ต้องการลบ
if(!file_exists($filename)){/ //ตรวจสอบว่ามีไฟล์อยู่หรือไม่
die("ไม่พบไฟล์ที่ระบุ! การดำเนินการถูกขัดจังหวะ!");
-
$farray=file($filename); //อ่านข้อมูลไฟล์ลงในอาร์เรย์
สำหรับ($tmpa=0;$tmpa<count($farray);$tmpa++){
if(($tmpa+1)==2){ //ตัดสินจำนวนบรรทัด
$farray[$tmpa]="$name2="""".$name"";n"; *
//แทนที่ข้อมูลของแถวเดิม
} //จัดเรียงข้อมูลใหม่
$newfp.=$farray[$tmpa];
-
$fp=@fopen($filename,"w ") or die("ไม่สามารถเปิดไฟล์ $filename ในโหมดการเขียน");
// เราเปิดไฟล์ในโหมดการเขียน
@fwrite($fp,$newfp) หรือ die( "การเขียนไฟล์ล้มเหลว");
@fclose($fp); ปิดไฟล์
-
?>
รหัสนี้ใช้สำหรับการทดสอบ 117-202 1Z0-043 1z0-042 เท่านั้น ความผิดปกติในการเขียนค่อนข้างน่าขบขัน!
วิธีนี้เราสามารถใช้เพื่ออัปเดตตัวแปรในไฟล์ name.php แน่นอนว่านี่เป็นวิธีการที่ค่อนข้างโง่ (ซึ่งบอกฉันว่าฉันเป็นคนโง่เช่นกัน) มีหลายวิธีในการบรรลุข้อกำหนดนี้
ในบรรทัดที่มีเครื่องหมาย * เราใช้อักขระหลีก คำพูดนี้ง่ายมาก แต่เมื่อฉันทดสอบ ฉันเสียเวลาไปมากเนื่องจากวิธีการที่ไม่เหมาะสม ตอนนี้วางตารางอักขระหลีกด้านล่าง:
ความหมายลำดับอักขระหลีก
n การป้อนบรรทัด (อักขระ LF หรือ ASCII 0x0A (10))
r การส่งคืนสินค้า (อักขระ CR หรือ ASCII 0x0D (13))
t อักขระแท็บแนวนอน (อักขระ HT หรือ ASCII 0x09 (9))
\ แบ็กสแลช
$ เครื่องหมายดอลลาร์
" เครื่องหมายคำพูดคู่
[0-7]{1,3} ลำดับนิพจน์ทั่วไปนี้ตรงกับอักขระที่แสดงในรูปแบบฐานแปด
x[0-9A-Fa-f]{1,2} ลำดับนิพจน์ทั่วไปนี้ตรงกับอักขระที่แสดงในรูปแบบเลขฐานสิบหก
สำหรับการประมวลผลสตริงเพียงอย่างเดียว การใช้เครื่องหมายคำพูดเดี่ยวจะเร็วกว่าการใช้เครื่องหมายคำพูดคู่ ดังนั้นคุณต้องเลือกเครื่องหมายคำพูดที่เหมาะสมในโปรแกรมของคุณ