الدرس الرابع عشر: نظام الملفات
مع PHP يمكنك أن تصل إلى نظام الملفات في المزود، هذا يسمح لك بتعديل المجلدات والملفات النصية في برامج PHP.
فمثلاً يمكنك استخدام PHP لقراءة أو كتابة ملف نصي، أو يمكنك عرض قائمة الملفات في مجلد محدد، هناك إمكانيات كثيرة وPHP يمكنها أن توفر عليك الكثير من الجهد.
هنا سنلقي نظرة على كيف يمكن استخدام PHP للعمل مع المجلدات والملفات، الهدف هو أن نعطيك نظرة سريعة، في الدرس التالي سنلقي نظرة مقربة على إمكانيات مختلفة، لن نخوض في كل الإمكانيات المتوفرة، مرة أخرى، راجع وثائق لغة PHP لترى كامل قائمة ما يمكن فعله بالملفات والمجلدات.
- filemtime
- تعطينا الوقت الذي حررت فيه محتويات الملف آخر مرة، (كطابع زمني - اقرأ الدرس الرابع).
- fileatime
- تعطينا الوقت الذي فتح الملف فيه آخر مرة (كطابع زمني - اقرأ الدرس الرابع).
- filesize
- تعطينا حجم الملف بالبايت.
لنجرب إيجاد هذه الخصائص للملف الذي تنظر له: "/tutorials/php/lesson14.php"
<html> <head> <title>Filesystem</title> </head> <body> <?php // Find and write properties echo "<h1>file: lesson14.php</h1>"; echo "<p>Was last edited: " . date("r", filemtime("lesson14.php")); echo "<p>Was last opened: " . date("r", fileatime("lesson14.php")); echo "<p>Size: " . filesize("lesson14.php") . " bytes"; ?> </body> </html>
المجلدات
PHP يمكنها أيضاً أن تسمح لك بالتعامل مع المجلدات في المزود، لن نخوض في كل الإمكانيات المتوفرة في هذا المجال، فقط سنعرض مثالاً، مرة أخرى، راجع التوثيق للمزيد من المعلومات.
- opendir
- يفتح مجلداً محدداً.
- readdir
- يعطينا اسم الملف التالي في مجلد مفتوح (cf. opendir)
- closedir
- يغلق مجلداً محدداً.
المثال أدناه يكتب قائمة بمحتويات مجلد "tutorials/php/".
<html> <head> <title>FileSystemObject</title> </head> <body> <?php // Opens the folder $folder = opendir("../../tutorials/php/"); // Loop trough all files in the folder while (($entry = readdir($folder)) != "") { echo $entry . "<br />"; } // Close folder $folder = closedir($folder); ?> </body> </html>
في المثال مجلد "../../tutorials/php/" فتح أولاً، ثم استخدمت حلقة لكتابة اسم الملف التالي في المجلد ما دام أن هناك مزيد من الملفات وفي النهاية أغلق المجلد.
في الدروس التالية سنلقي نظرة على كيفية القراة والكتابة في ملف نصي.