PHP มีฟังก์ชันที่เกี่ยวข้องกับระบบไฟล์มากมาย ซึ่งไม่เพียงแต่ช่วยคุณเปิดไฟล์เท่านั้น แต่ยังแสดงเนื้อหาไดเร็กทอรี ย้ายไฟล์ ฯลฯ หลายๆ คนเคยเขียนโปรแกรมจัดการไฟล์บนเว็บโดยใช้ PHP มาก่อน
ก่อนอื่น ฉันต้องเตือนคุณบางอย่างเกี่ยวกับเส้นทางของไฟล์: ใน Windows คุณสามารถใช้เครื่องหมายทับ "/" หรือแบ็กสแลช "\" ในเส้นทางของไฟล์ได้ ในขณะที่ระบบปฏิบัติการอื่นใช้เฉพาะ "/" เท่านั้น เพื่อเหตุผลด้านความเข้ากันได้ ตัวอย่างต่อไปนี้ใช้การแสดง "/":
สคริปต์อย่างง่ายต่อไปนี้แสดงรายการไดเร็กทอรีพื้นฐาน ความคิดเห็นอยู่ในโค้ดและอธิบายแต่ละขั้นตอน:
<? /* ระบุเส้นทางแบบเต็มไปยังไดเร็กทอรีที่คุณต้องการเข้าถึงในตัวแปร $dir_name*/
$dir_name = /home/me/;
/* สร้างจุดอ้างอิงและเปิดผลลัพธ์ ของไดเร็กทอรีที่กำหนด* /
$dir = opendir($dir_name);
/* เริ่มเพิ่มข้อความในตำแหน่งที่จะวางองค์ประกอบรายการ (ชื่อไฟล์) */
$file_list = <ul>
; ในขณะที่คำสั่งเพื่ออ่านองค์ประกอบทั้งหมดของไดเร็กทอรีที่เปิดอยู่ หากชื่อไฟล์ไม่ใช่ "." หรือ ".." ให้ส่งออกชื่อไฟล์ในรายการ */
while ($file_name = readdir($dir)) {
ถ้า (($file_name != .) && ($file_name != ..)) {
$file_list .= <li>$file_name;
-
}
/* จบรายการ*/
$file_list .= </ul><;
/* ปิดตัวจัดการไดเร็กทอรีที่เปิดอยู่และสิ้นสุดส่วนของโค้ด PHP*/
closeir($dir);
?>
<!-- เริ่ม HTML ของคุณ -->
<HTML >
<หัว><
<TITLE>รายการไดเร็กทอรี </TITLE>
</HEAD>
<ร่างกาย>
<!-- ใช้ PHP เพื่อพิมพ์ชื่อของไดเร็กทอรีที่คุณอ่าน -->
<P>ไฟล์ใน: <? echo $dir_name; ?></p>
<!-- ใช้ PHP เพื่อพิมพ์รายการไดเร็กทอรี -->
<? เสียงสะท้อน $file_list;
</ร่างกาย><
</HTML>
ขณะนี้มีรายการไดเร็กทอรีอยู่แล้ว คุณต้องจำไว้ว่าในการอ่านเนื้อหาของไดเร็กทอรีหรือไฟล์ (คุณจะเห็นมันในไม่ช้า) แพลตฟอร์มที่ทำงาน PHP ซึ่งผู้ใช้อยู่จะต้องมีสิทธิ์ในการอ่านอย่างน้อยในไดเร็กทอรีหรือไฟล์
ตัวอย่างต่อไปนี้แสดงวิธีการคัดลอกไฟล์:
<? /* ใส่พาธของไฟล์ที่จะคัดลอกลงในตัวแปร $Original และพาธเป้าหมายที่จะคัดลอกลงในตัวแปร $copied */
$Original = /home/me/ mydatabasedump;
$copied = /archive/mydatabasedumo_1010;
/* ใช้ฟังก์ชัน copy() เพื่อคัดลอกไฟล์ต้นฉบับไปยังปลายทาง หรือลงท้ายด้วยการแสดงข้อความแสดงข้อผิดพลาด*/
@copy($Original, $copied) หรือ die(ไม่สามารถคัดลอกได้ ไฟล์.);
?>
สคริปต์ตัวอย่างเป็นขั้นตอนแรกในการสำรองระบบ เมื่อสคริปต์ทำงาน อันดับแรกจะคัดลอกฐานข้อมูลไปยังตำแหน่งอื่นเพื่อเหตุผลด้านความปลอดภัย ด้วยการแก้ไข crontab คุณสามารถเรียกใช้ไฟล์นี้ในเวลาที่เลือกได้โดยที่ผู้ใช้ไม่ต้องดำเนินการใด ๆ
สมมติว่า Lynx อยู่ในระบบอยู่แล้ว คุณสามารถสร้างรายการ crontab เพื่อเรียกใช้ Lynx และเข้าถึงไฟล์ได้ การเข้าถึงไฟล์จะเรียกใช้สคริปต์และสร้างสำเนาของไฟล์ ตัวอย่างต่อไปนี้จะรันสคริปต์เวลา 5 โมงเช้าแล้วปิด Lynx:
0 5 * * * [ชื่อผู้ใช้] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1
หากคุณใช้เวอร์ชัน PHP CGI คุณสามารถข้ามส่วน Lynx และอ้างอิงถึงไบนารี:
0 5 * * * [ชื่อผู้ใช้] php /path/to/copyfile.php 1>/dev/null 2>&1