لدى 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>
</الرأس
> <الجسم>
<!-- استخدم PHP لطباعة اسم الدليل الذي تقرأه -->
<P>الملفات الموجودة في: <? echo $dir_name; ?></p>
<!-- استخدم PHP لطباعة قائمة الدليل -->
<?
</الجسم>
</HTML>
في الوقت الحالي، توجد قائمة دليل بالفعل. عليك أن تتذكر أنه لقراءة محتويات دليل أو ملف (ستراه قريبًا)، يجب أن يكون لدى منصة تشغيل PHP التي يوجد بها المستخدم إذن قراءة على الدليل أو الملف على الأقل.
المثال التالي يوضح كيفية نسخ الملفات:
<? /* ضع مسار الملف المراد نسخه في المتغير $original، والمسار الهدف المراد نسخه في المتغير $copied */
$original = /home/me/ this.mydatabaseump;
$copied = /archive/mydatabasedumo_1010
/* استخدم الدالة Copy() لنسخ الملف المصدر إلى الوجهة، أو انتهي بإخراج رسالة خطأ*/
@copy($original, $copied) أو die(Could't Copy) file.);
>
نموذج البرنامج النصي هو الخطوة الأولى في النسخ الاحتياطي للنظام. عند تشغيل البرنامج النصي، يقوم أولاً بنسخ قاعدة البيانات إلى موقع مختلف لأسباب أمنية. من خلال تعديل 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