فتح/قراءة/إغلاق ملفات PHP

في هذا الفصل، سنشرح لك كيفية فتح قراءة وإغلاق الملفات على الخادم.

فتح ملف PHP - fopen()

أفضل طريقة لفتح الملف هي من خلال دالة fopen(). هذه الدالة توفر لك خيارات أكثر من دالة readfile().

في هذا الدرس، سنستخدم ملف النص "webdictionary.txt":

AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = لغة الترميز المتواسعة الم扩展ية

المسار الأول لدالة fopen() يحتوي على اسم الملف الذي سيتم فتحه، والمسار الثاني يحدد نمط فتح الملف. إذا لم يفتح دالة fopen() الملف المحدد، فإن المثال التالي سيقوم بإنشاء رسالة:

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>

Run Instance

إشارة:سنتعلم فيما بعد دوال fread() و fclose().

يتم فتح الملف بأحد النماط التالية:

النمط الوصف
r فتح الملف كقراءة فقط. يبدأ المؤشر في بداية الملف.
w فتح الملف ككتابة فقط. يتم حذف محتويات الملف أو إنشاء ملف جديد إذا لم يكن موجودًا. يبدأ المؤشر في بداية الملف.
a فتح الملف ككتابة فقط. يتم الحفاظ على البيانات الموجودة في الملف. يبدأ المؤشر في نهاية الملف. إنشاء ملف جديد إذا لم يكن موجودًا.
x إنشاء ملف جديد ككتابة فقط. يعود FALSE وخطأ إذا كان الملف موجودًا بالفعل.
r+ فتح الملف كقراءة/كتابة. يبدأ المؤشر في بداية الملف.
w+ فتح الملف كقراءة/كتابة. يتم حذف محتويات الملف أو إنشاء ملف جديد إذا لم يكن موجودًا. يبدأ المؤشر في بداية الملف.
a+ فتح الملف كقراءة/كتابة. يتم الحفاظ على البيانات الموجودة في الملف. يبدأ المؤشر في نهاية الملف. إنشاء ملف جديد إذا لم يكن موجودًا.
x+ إنشاء ملف جديد كقراءة/كتابة. يعود FALSE وخطأ إذا كان الملف موجودًا بالفعل.

PHP قراءة الملف - fread()

تقرأ دالة fread() الملف المفتوح.

المسار الأول لدالة fread() يحتوي على اسم الملف الذي سيتم قراءته، والمسار الثاني يحدد عدد الأكواد القصوى التي يمكن قراءتها.

الكود التالي يقرأ ملف "webdictionary.txt" حتى النهاية:

fread($myfile, filesize("webdictionary.txt"));

PHP إغلاق الملف - fclose()

يستخدم دالة fclose() إغلاق الملف المفتوح.

Note:إغلاق جميع الملفات عند استخدامهن يعتبر عادة جيدة في البرمجة. لا تريد ملفات مفتوحة تشغل موارد خادمك.

fclose() يتطلب اسم الملف الذي سيتم إغلاقه (أو المتغير الذي يحتوي على اسم الملف):

<?php
$myfile = fopen("webdictionary.txt", "r");
// بعض الكود لتنفيذه...
fclose($myfile);
?>

PHP قراءة سطر ملف - fgets()

يستخدم دالة fgets() لقراءة سطر واحد من الملف.

السطر الأول من ملف "webdictionary.txt" يتم إخراجه كالتالي:

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>

Run Instance

Note:After calling the fgets() function, the file pointer moves to the next line.

PHP Check End-Of-File - feof()

The feof() function checks if it has reached the "end-of-file" (EOF).

feof() is very useful for traversing data of unknown length.

The following example reads the "webdictionary.txt" file line by line until end-of-file:

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output single line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

Run Instance

PHP Read Single Character - fgetc()

The fgetc() function is used to read a single character from a file.

The following example reads the "webdictionary.txt" file character by character until end-of-file:

Example

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output single character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

Run Instance

Note:After calling the fgetc() function, the file pointer moves to the next character.

PHP Filesystem Reference Manual

For the complete PHP Filesystem Reference Manual, please visit the one provided by CodeW3C.com PHP Filesystem Reference Manual.