أساسيات البرمجة برمجة المواقع بي اتش بي التعامل مع الملفات PHP Files I/O
التعامل مع الملفات PHP Files I/O
ماهي دوال التي تتعامل مع الملفات PHP Files I/O
نظرًا لأن PHP هي لغة برمجة تعمل جانب الخادم (السيرفر) ، فهي تتيح لك العمل مع الملفات والأدلة (مسارات المجلدات) المخزنة على خادم الويب. ستتعلم في هذا البرنامج التعليمي كيفية إنشاء الملفات والوصول إليها ومعالجتها على خادم الويب الخاص بك باستخدام دوال نظام ملفات PHP.
في هذا الدرس سيتم شرح الدوال التي تتعامل مع الملفات وهي دوال فتح الملفات والكتابة على الملفات وقراءة الملفات وإغلاق الملفات.
سيتم التعامل مع الدوال التالية وسيتم دراسة خصائص هذه الدوال.
- دوال فتح الملفات Opening a file
- دوال القراءة من الملفات Reading a file
- دوال الكتابة للملفات Writing a file
- دوال إغلاق الملفات Closing a file
أولا دوال فتح الملفات ()fopen
تستخدم دالة ال ()fopen لفتح الملفات إما للقراءة من الملفات أو الكتابة على الملفات.دالة فتح الملفات ()fopen تحتاج الى وسيطان أو باراميتران الاول يحتوي اسم الملف المراد فتحه والثاني وضعية الملف المراد فتحه Mode.
يقصد بالوضعية هي الصلاحيات على الملف هل هو للقراءة، للكتابة، للكتابة والقراءة، وغيرها من الوضعيات.
جدول ال Mode لدالة فتح الملفات ()fopen
الوضع | الوصف |
---|---|
r | فتح الملف في وضعية القراءة فقط يبدأ القراءة من بداية الملف |
r+ | فتح الملف في وضعية القراءة والكتابة يبدأ القراءة أو المكتابة من بداية الملف |
w | فتح الملف في وضعية الكتابة فقط ويقوم بمسح المحتويات والكتابة وفي حال كان الملف غير موجود يقوم بانشاء ملف جديد |
w+ | فتح الملف في وضعية الكتابة والقراءة ويقوم بمسح المحتويات والكتابة وفي حال كان الملف غير موجود يقوم بانشاء ملف جديد |
a | إلحاق. فتح وكتابة إلى نهاية الملف أو إنشاء ملف جديد إذا لم يكن موجودا |
a+ | قراءة / إلحاق. المحافظة على محتوى الملف عن طريق الكتابة إلى نهاية الملف |
x | الكتابة فقط. بإنشاء ملف جديد. ويرجع خطأ إذا كان الملف موجود مسبقا |
x+ | الكتابة أوالقراءة. بإنشاء ملف جديد. ويرجع خطأ إذا كان الملف موجود مسبقا |
مثال على فتح الملفات open files in PHP
<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body>
</html>
إذا حاولت فتح ملف غير موجود ، فسيقوم PHP بإنشاء رسالة تحذير. لذلك ، لتجنب رسائل الخطأ هذه ، يجب عليك دائمًا تنفيذ فحص بسيط ما إذا كان الملف أو الدليل موجودًا أم لا قبل محاولة الوصول إليه ، باستخدام دالة PHP file_exists ().
دالة إغلاق الملفات close Files in PHP
دالة إغلاق الملفات بعد فتحها تستخدم لغلق الملف المستخدم فهي تحتاج الى اسم المؤشر وفي حال تم الاغلاق بنجاح تعيد قيمة صحيحة مالم خطأ.
<?php
$file = fopen("test.txt","r");
//كود
fclose($file);
?>
بمجرد الانتهاء من العمل مع ملف ، يجب إغلاقه. تستخدم الدالة fclose () لإغلاق الملف ، يفضل ان يتم فحص هل الملف المراد إغلاقه موجود وقيد الاستخدام كي لا ينتج خطأ معك كما هو موضح في المثال التالي:
ملاحظة: على الرغم من أن PHP تغلق جميع الملفات المفتوحة تلقائيًا عند إنهاء البرنامج النصي ، إلا أنه من الجيد إغلاق ملف بعد إجراء جميع العمليات.
القراءة من الملفات باستخدام الدالة PHP fread ()
الآن بعد أن فهمت كيفية فتح الملفات وإغلاقها. في القسم التالي سوف تتعلم كيفية قراءة البيانات من ملف. PHP لها دوال عديدة لقراءة البيانات من ملف. يمكنك القراءة من حرف واحد فقط إلى الملف بأكمله بعملية واحدة.
كيفية قراءة عدد ثابت من الأحرف من ملف في php
يمكن استخدام الدالة fread () لقراءة عدد محدد من الأحرف من الملف. يمكن إعطاء الصيغة الأساسية لهذه الدالة.
حيث
File handle هو مسار الملف
Length in bytes طول المراد قراءته بالبيت.
في المثال التالي سنقرأ 20 بايت من ملف "data.txt" بما في ذلك المسافات. لنفترض أن الملف "data.txt" يحتوي على فقرة من النص "الثعلب البني السريع يقفز فوق الكلب الكسول."
المخرجات هي
قراءة محتويات الملف بالكامل php
يمكن استخدام الدالة fread () بالاقتران مع دالة filesize () لقراءة الملف بأكمله مرة واحدة. ترجع الدالة filesize () حجم الملف بالبايت.
في المثال السابق استخدمنا الدالة file وهي تقم بمعرفة حجم الملف لانه لا يمكن قراءة الملف دون معرفة حجمه وعن طريق حجم الملف تم تمريره كوسيطة الي دالة القراءة fread.
الطريق الأسهل لقراءة ملف بالكامل php entire file
أسهل طريقة لقراءة محتويات الملف بالكامل في PHP هي باستخدام دالة readfile (). تتيح لك هذه الدالة قراءة محتويات الملف دون الحاجة إلى فتحه. سينتح المثال التالي نفس الإخراج كما في المثال السابق:
هناك طريقة أخرى لقراءة محتويات الملف بالكامل دون الحاجة إلى فتحه وهي باستخدام الدالة file_get_contents (). تقبل هذه الدالك الاسم والمسار إلى ملف ، وتقرأ الملف بأكمله في متغير السلسلة. هذا مثال:
هناك طريقة أخرى لقراءة البيانات الكاملة من ملف وهي دالة file () PHP. تقوم بعمل مماثل لدالة file_get_contents () ، لكنها تُرجع محتويات الملف كمصفوفة من الأسطر ، بدلاً من سلسلة واحدة. يتوافق كل عنصر من عناصر المصفوفة المرتجعة مع سطر في الملف.
لمعالجة بيانات الملف ، تحتاج إلى تكرار المصفوفة باستخدام حلقة التكرار foreach. هذا مثال يقرأ ملفًا في مصفوفة ثم يعرضه باستخدام الحلقة التكرارية :
كتابة في الملفات باستخدام دالة PHP fwrite ()
وبالمثل ، يمكنك كتابة البيانات إلى ملف أو إلحاقها بملف موجود باستخدام الدالة PHP fwrite (). يمكن إعطاء الصيغة الأساسية لهذه الوظيفة من خلال:
حيث
تأخذ الدالة fwrite () معلمتين - file handle و string البيانات المراد كتابتها ، كما هو موضح في المثال التالي:
في المثال أعلاه ، إذا كان ملف "note.txt" غير موجود ، فسيقوم PHP بإنشائه تلقائيًا وكتابة البيانات. ولكن ، إذا كان ملف "note.txt" موجودًا بالفعل ، فستقوم PHP بمسح محتويات هذا الملف ، إن وجدت ، قبل كتابة البيانات الجديدة ، ولكن إذا كنت تريد فقط إلحاق الملف والاحتفاظ بالمحتويات الموجودة ، فاستخدم الوضع a بدلاً من w في المثال أعلاه.
طريقة كتابة في الملفات بديلة هي استخدام دالة file_put_contents (). إنه نظير لدالة file_get_contents () توفر طريقة سهلة لكتابة البيانات إلى ملف دون الحاجة إلى فتحه. تقبل هذه الوظيفة الاسم والمسار إلى الملف مع البيانات المراد كتابتها إلى الملف. هذا مثال:
إذا كان الملف المحدد في الدالة file_put_contents () موجودًا بالفعل ، فستكتب PHP فوقه افتراضيًا. إذا كنت ترغب في الاحتفاظ بمحتويات الملف ، يمكنك تمرير علامة FILE_APPEND الخاصة كمعامل ثالث إلى الدالة file_put_contents (). سيقوم ببساطة بإلحاق البيانات الجديدة بالملف بدلاً من المسح واعادة الكتابة عليه. هذا مثال:
كيفيةإعادة تسمية الملفات بدالة PHP rename ()
يمكنك إعادة تسمية ملف أو دليل باستخدام الدالة rename () في PHP ، مثل هذا:
كيفية حذف و إزالة الملفات باستخدام دالة unlink PHP ()
يمكنك حذف الملفات أو الدلائل باستخدام دالة unlink () في PHP ، مثل هذا:
ما هي دالة الوصول لاخر الملف () feof
تستخدم هذه الدالة لفحص هل تم الوصول الى نهاية الملف اي اخر سطر وحرف في الملف.
دول نظام ملفات PHP
يقدم الجدول التالي نظرة عامة على بعض دوال نظام ملفات PHP الأخرى المفيدة التي يمكن استخدامها لقراءة الملفات وكتابتها ديناميكيًا.
الدالة | وصف |
---|---|
fgetc() | يقرأ حرف واحد في كل مرة. |
fgets() | يقرأ سطرًا واحدًا في كل مرة. |
fgetcsv() | يقرأ سطرًا من القيم المفصولة بفواصل. |
filetype() | يُرجع نوع الملف. |
feof() | للتحقق مما إذا تم الوصول إلى نهاية الملف. |
is_file() | للتحقق مما إذا كان الملف هو ملف عادي. |
is_dir() | للتحقق مما إذا كان الملف دليلًا. |
is_executable() | للتحقق مما إذا كان الملف قابلاً للتنفيذ. |
realpath() | إرجاع اسم المسار الفعلي . |
rmdir() | يزيل الدليل الفارغ. |
التسميات: PHP بي اتش بي تعلم دروس حتى الاحتراف
<< الصفحة الرئيسية