العمل مع الملفات في PHP: الفتح والكتابة والقراءة. PHP يقوم بإنشاء ملف، وقراءة وكتابة Php للحصول على البيانات من الملف

هاتان الطريقتان متشابهتان جدًا، ولكن هناك اختلاف مهم: يجب أن يكون لديك إذن الكتابة للكتابة. هذا يعني أنه يجب أن يكون موجودًا في الدليل الذي لديك الحقوق اللازمة فيه.

إذا كنت تعمل محليًا على جهاز الكمبيوتر الخاص بك، فيمكنك تعيين الحقوق بنفسك: انقر بزر الماوس الأيمن على المجلد وحدد "خصائص". يوجد عادةً في معظم مضيفي الويب مجلد واحد فقط يتمتع بأذونات الكتابة. غالبًا ما يطلق عليه "cgi-bin"، و"log"، و"databases"، وما إلى ذلك. إذا كان مضيف الويب الخاص بك يسمح بذلك، فيمكنك تعيين الحقوق بنفسك. يمكنك عادةً النقر بزر الماوس الأيمن فوق مجلد في عميل FTP الخاص بك وتحديد "خصائص" أو "أذونات" أو شيء مشابه. توضح لقطة الشاشة أدناه كيف تبدو في FileZilla.

راجع أيضًا صفحات دعم مضيفي الويب لديك.

يرجى ملاحظة أن الملف النصي هو الذي يجب أن يكون موجودًا في المجلد الذي يتمتع بأذونات الكتابة، وليس ملف PHP.

فتح ملف نصي للكتابة

كما هو الحال مع قراءة ملف نصي، يتم استخدام الوظيفة عند الكتابة، ولكن هذه المرة يتم ضبط الوضع على "w" (كتابة) أو "a" (إلحاق).

الفرق بين كتابةو إلحاقفي كيفية وضع "المؤشر" - في بداية الملف النصي أو في نهايته.

تستخدم الأمثلة الموجودة في هذا البرنامج التعليمي ملفًا نصيًا فارغًا، textfile.txt. ولكن يمكنك إنشاء الملف الخاص بك إذا كنت ترغب في ذلك.

لنحاول أولاً فتح هذا الملف النصي للكتابة:

// فتح ملف نصي // إغلاق الملف النصي fClose($f); ?>

مثال 1: كتابة سلسلة إلى ملف نصي

لكتابة سلسلة يجب علينا استخدام الدالة:

<span>الكتابة إلى ملف نصي</span> // فتح ملف نصي $f = fopen("textfile.txt", "w"); // اكتب سلسلة نصية fwrite($f, "PHP ممتع!"); // إغلاق الملف النصي fClose($f); صدى fgets($f); fClose($f); ?>

وبما أن الملف مفتوح ل السجلات، تتم إضافة السطر إلى بداية الملف والكتابة فوق السطر الموجود. إذا فتحنا ملفًا لـ إلحاق، يتم إضافة السطر إلى أسفل الملف، والذي يزيد بمقدار سطر واحد في كل مرة يتم كتابته.

المثال 2: إضافة كتلة نصية إلى ملف نصي

بالطبع، يمكنك أيضًا إضافة كتلة نصية كاملة بدلاً من سطر واحد فقط:

<span>الكتابة إلى ملف نصي</span> // فتح ملف نصي $f = fopen("textfile.txt", "w"); // اكتب النص fwrite($f, $_POST["textblock"]); // إغلاق الملف النصي fClose($f); // افتح الملف للقراءة واقرأ السطر $f = fopen("textfile.txt", "r");// اقرأ النص echo fgets($f); fClose($f); ?>

في الدروس التالية سوف ننظر إلى طريقة أخرى لتخزين البيانات: قواعد البيانات.

يعد العمل مع الملفات نقطة مهمة. نظرًا لأنه يمكنهم تخزين البيانات والسجلات وما إلى ذلك. نحن نعرف بالفعل كيفية تحميل الملفات إلى الخادم. أنت الآن بحاجة إلى تعلم كيفية التفاعل مع محتواها.
تنقسم عملية العمل مع الملف إلى ثلاث مراحل:
1. افتح ملفًا.
2. العمل على محتويات الملف المفتوح.
3. إغلاق الملف.

وظيفة فوبين ()هناك عدة أوضاع يتم من خلالها فتح الملفات، وهنا جدولها:

قائمة الأوضاع الممكنة لـ fopen()
وضع وصف
"ص" يفتح الملف للقراءة فقط؛ يضع المؤشر في بداية الملف.
"ص+" يفتح ملفا للقراءة والكتابة. يضع المؤشر في بداية الملف.
"ث" يفتح الملف للكتابة فقط؛ يضع مؤشرًا في بداية الملف ويقتطع الملف إلى طول صفر. إذا كان الملف غير موجود، فإنه يحاول إنشائه.
'ث+' يفتح ملفا للقراءة والكتابة. يضع مؤشرًا في بداية الملف ويقتطع الملف إلى طول صفر. إذا كان الملف غير موجود، فإنه يحاول إنشائه.
'أ' يفتح الملف للكتابة فقط؛ يضع المؤشر في نهاية الملف. إذا كان الملف غير موجود، فإنه يحاول إنشائه. في هذا الوضع الوظيفة فسيك ()لا ينطبق، تتم إضافة الإدخالات دائمًا.
"أ+" يفتح ملفا للقراءة والكتابة. يضع المؤشر في نهاية الملف. إذا كان الملف غير موجود، فإنه يحاول إنشائه. في هذا الوضع الوظيفة فسيك ()يؤثر فقط على موقع القراءة، ويتم إضافة السجلات دائمًا.
"س" يخلق ويفتح للكتابة فقط؛ يضع المؤشر في بداية الملف. إذا كان الملف موجودا بالفعل، اتصل فوبين ()تنتهي بالفشل، سوف تعود خطأ شنيعوسوف تعطي خطأ في المستوى تحذير إلكتروني. إذا كان الملف غير موجود، فسيحاول إنشائه. وهذا يعادل تحديد الأعلام O_EXCL|O_CREATلاستدعاء النظام الداخلي مفتوح(2).
"س +" يخلق ويفتح للقراءة والكتابة؛ خلاف ذلك لديه نفس السلوك كما "س".
"ج" يفتح الملف للكتابة فقط. إذا لم يكن الملف موجودا، يتم إنشاؤه. إذا كان الملف موجودًا، فلن يتم اقتطاعه (على عكس "ث")، واستدعاء هذه الوظيفة لا يسبب خطأ (كما هو الحال مع "س"). سيتم تعيين مؤشر الملف على بداية الملف. يمكن أن يكون هذا مفيدًا إذا كنت تريد قفل ملف (انظر قطيع()) قبل التغيير، منذ الاستخدام "ث"يمكن اقتطاع الملف قبل الحصول على القفل (إذا كنت ترغب في اقتطاع الملف، يمكنك استخدام الوظيفة فترونكات ()بعد طلب الحظر).
'ج+' يفتح ملفا للقراءة والكتابة. خلاف ذلك لديه نفس السلوك كما "ج".

يمكنك إضافة قيمتين إضافيتين إلى الوضع:
ب- يتم فتح الملف في الوضع الثنائي
ر- يفتح الملف كنص

من الأقوال إلى الأفعال. الآن القليل من الممارسة للتوحيد. لنقم بإنشاء ملف يسمى test.txt في مجلد الملفات لدينا، ولكننا سنفعل ذلك باستخدام PHP. وسنكتب فيه السطر "مرحبًا بالجميع!"، وبعد ذلك سنقرأ هذا السطر من الملف ونعرضه على الشاشة. قررت أن أفعل كل شيء في شكل وظائف، للاستخدام القابل لإعادة الاستخدام، وهذا ما خرج منه:

"؛ صدى آخر "فشل في كتابة البيانات!
"; // إغلاق الملف f Close($file); ) وظيفة fileread($filename)( // المسار إلى الملف $path = "files/".$filename.".txt"; // فتح الملف للقراءة $file = fopen($path,"r"); // إذا تم فتح الملف بنجاح if($file)( // ثم حتى يصل الملف إلى النهاية while (!feof($file)) ( // قراءة البيانات من الملف $read = fgets ($file); // وعرض النص على الشاشة echo $read."
"; ) ) // إذا لم يتم فتح الملف، فأبلغ عنه else echo "خطأ في فتح الملف
"; // أغلق الملف f Close($file); ) // إنشاء ملف fcreate("test"،"مرحبا بالجميع!"); // قراءة البيانات من الملف fileread("test"); ?>

يمكنك الآن إنشاء الملفات وتحريرها.
————————
ماذا تعرف عن أقوى الحواسيب العملاقة؟ لا شئ؟ ثم اقرأ هنا

إذا كنت تتعلم العمل مع PHP بنفسك، فمن المهم أن تتعلم كيفية قراءة البيانات من ملف وإجراء تغييرات عليها. يتم التسجيل في ملف php لتطوير تطبيقات الويب وتغيير معلومات الخادم وإطلاق البرامج والإضافات الخارجية.

كيفية العمل مع ملفات PHP

إذا كان الملف يحتوي على مثل هذا الامتداد، فهذا يعني أنه يحتوي على رمز برنامج مكتوب بلغة البرمجة التي تحمل نفس الاسم. لإجراء التغييرات، ستحتاج إلى تثبيت أحد برامج تحرير البرامج على جهاز الكمبيوتر الخاص بك:

محرر خبير PHP؛
. دريمويفر.
. تطوير PHP الكسوف؛
. تحرير PHP.

إذا كنت تقوم بإنشاء موقع ويب، فيجب عليك غالبًا استخدام تصميمات متطابقة، والتي يتم تخزينها بشكل ملائم كقوالب في ملف آخر. لهذا فمن الأفضل استخدام تشمل. بعد إدخال هذه الوظيفة، تحتاج إلى كتابة اسم وامتداد الاتصال في ملف php، على سبيل المثال، تضمين 1.php. يدعم هذا التصميم قراءات متعددة للملف المضمن، والميزة الإضافية هي استمرارية تنفيذ التعليمات البرمجية في حالة حدوث خطأ. إذا حدث خطأ ما، فسيستمر تنفيذ التعليمات البرمجية من سطر جديد.
بهذه الطريقة سوف تقوم بتضمين الملف في التعليمات البرمجية الخاصة بك. هناك طريقة أخرى للدخول تتطلب. على عكس التضمين الموصوف أعلاه، يتم تضمين الملف قبل بدء تنفيذ تعليمات برمجية برمجية، ولكن يمكنك الوصول إليه مرة واحدة فقط.

التحقق من الملف

قبل أن تكتب إلى ملف PHP، عليك التأكد من وجوده، ثم فتحه وإجراء التعديلات اللازمة. للقيام بذلك، يمكنك استخدام وظيفة file_exists()؛ إذا أكدت التواجد، فسيتم إرجاع الاستجابة TRUE في نافذة المحرر، وإلا - FALSE.
هناك وظيفة أخرى هي is_file() يمكنها إعلامك بإمكانية كتابة البيانات إلى ملف php. إنه أكثر موثوقية من file_exits، ويستخدم معظم المبرمجين is_file للبدء. بمجرد التحقق من وجود الملف، يمكنك البدء في العمل معه.

إجراء تغييرات على ملف

الأداة الأولى التي يمكنك استخدامها لإجراء تغييرات على ملف هي fwrite(). ويكتب أسطرًا بالصيغة التالية:

كثافة العمليات - مناور.
. السلسلة متغيرة.

هناك وظيفة أخرى مشابهة لهذه - fputs()، وهو اسم مستعار. لا توجد اختلافات بين هذه الأدوات، يمكنك اختيار واحدة أو أخرى. بالنسبة للطلاب، يعد fwrite أكثر شيوعًا، بينما يستخدم المبرمجون الممارسون في أغلب الأحيان fputs.

لإدخال PHP في ملف نصي، يجب استيفاء شرط واحد مهم - يجب أن يكون مفتوحًا للتحرير. يجب أن يكون هذا الملف موجودًا في مجلد يتمتع بأذونات الكتابة.

للعمل، حاول أولاً فتح مستند نصي في البرنامج، ثم إجراء التعديلات باستخدام الأدوات العادية.

// فتح ملف نصي
$f = fopen("text.txt", "w");
// اكتب سلسلة نصية
fwrite($f, "مرحبًا! يوم جيد!");
// إغلاق الملف النصي
fClose($f);

في هذا المثال، text.txt هو اسم المستند. يمكنك تسميتها بشكل مختلف: "مرحبًا! يوم جيد! - مثال على النص، يمكن أن يكون تعسفيا تماما. يتم حفظ جميع التغييرات تلقائيًا في الملف المفتوح.

لاحظ أن PHP للأغراض العامة. يتم استخدامه بشكل مكثف لإنشاء تطبيقات الويب. هذا الحل مدعوم من قبل معظم موفري الاستضافة. نحن نتحدث عن الرائدة بين الأدوات المستخدمة لإنشاء مواقع الويب. الآن أنت تعرف كيفية الكتابة إلى ملف PHP.

16.5 ألف

في الواقع، كيفية فتح ملف PHP ليست مشكلة كبيرة. قد يكون من الصعب فتح زجاجة بيرة عندما تكون في وسط الغابة. لكن المبرمجين المتحمسين فقط هم من يفكرون بهذه الطريقة. وبالنسبة للمبتدئين، سنخبرك بجميع إمكانيات PHP للعمل مع الملفات:

ملفات PHP

تحتوي الملفات ذات ملحق php على تعليمات برمجية مكتوبة بلغة البرمجة التي تحمل الاسم نفسه. على عكس اللغات الأخرى، PHP هي لغة برمجة من جانب الخادم. أي أنه يعمل على جانب الخادم. ولذلك، لتصحيح التعليمات البرمجية الخاصة به، يجب تثبيت خادم محلي على جهاز العميل.

للعمل مع ملفات PHP، يتم استخدام تطبيقات خاصة - محرري البرامج. الأكثر شيوعا هي:

  • دريمويفر.
  • تحرير PHP.
  • تطوير PHP الكسوف.
عند إنشاء مواقع ويب تعتمد على لغة PHP، قد تحتاج إلى إعادة استخدام كود البرنامج. في مثل هذه الحالات، يكون من المناسب توصيل الحلول الجاهزة الموجودة في ملف آخر. يتم استخدام بناء التضمين لهذا الغرض. بناء الجملة الخاص به هو:

تضمين اسم الملف

مثال الاتصال:

الملف المتضمن:


من الممكن أيضًا تضمين ملف باستخدام البنية المطلوبة. على عكس التضمين، فهو يتضمن الملف قبل تنفيذ كود البرنامج. باستخدام يتطلب في التعليمات البرمجية، من الممكن استدعاء واحد فقط لهذا الملف. عند الوصول مرة أخرى، سيعرض النظام رسالة خطأ عامة ويوقف تنفيذ البرنامج.

تتضمن بنية التضمين المصدر فقط أثناء تنفيذ البرنامج. وهو يدعم القراءة المتعددة لملف PHP. في حالة حدوث خطأ، سيتم عرض رسالة تحذير فقط، وسيستمر تنفيذ التعليمات البرمجية من السطر التالي.

فتح وإغلاق الملفات

في PHP، يتم تنفيذ جميع العمليات مع الملفات على عدة مراحل:

  • فتح ملف؛
  • تحرير المحتوى؛
  • إغلاق الملف.

يتم استخدام الدالة fopen() لفتح ملف. بناء الجملة الخاص به هو:

int fopen (اسم ملف السلسلة، وضع السلسلة [، int use_include_path])

الحجج المقبولة:

  • اسم ملف السلسلة - اسم الملف أو المسار المطلق إليه. إذا لم يتم تحديد المسار إلى الملف، فسيتم البحث عنه في الدليل الحالي. إذا كان الملف الذي تبحث عنه مفقودًا، فسيعرض النظام رسالة خطأ. مثال:

  • وضع السلسلة - يشير إلى وضع فتح الملف. القيم المقبولة بواسطة الوسيطة:
  • r – يتم فتح الملف للقراءة فقط، ويتم وضع مؤشر الملف في البداية؛
  • r+ – الملف مفتوح للقراءة والكتابة؛
  • ث – إنشاء ملف جديد للكتابة فقط. إذا كان الملف الذي يحمل نفس الاسم موجودًا بالفعل، فسيتم حذف جميع البيانات الموجودة فيه تلقائيًا؛
  • w+ - يقوم بإنشاء ملف جديد للكتابة والقراءة. عند وجود مثل هذا الملف، يتم استبدال بياناته بالكامل ببيانات جديدة؛
  • أ – الملف مفتوح للكتابة . يتم وضع المؤشر في النهاية. أي أن الكتابة إلى ملف php لن تبدأ من البداية، بل من النهاية؛
  • أ+ - فتح ملف في وضع القراءة والكتابة. سيبدأ التسجيل من النهاية؛
  • ب – طريقة العمل مع ملف يحتوي على بيانات ثنائية (في نظام الأرقام الثنائية). هذا الوضع متاح فقط على نظام التشغيل Windows.

لإغلاق الوصول إلى ملف، استخدم الدالة fClose(). بناء الجملة:

int fclose (ملف int)، حيث يكون ملف int بمثابة مؤشر للموقع لإغلاقه.

بعد كل قراءة أو كتابة، يجب إغلاق الملف بهذه الوظيفة. وبخلاف ذلك، يظل الدفق الذي تم إنشاؤه للملف مفتوحًا. وهذا يؤدي إلى استهلاك غير ضروري لسعة الخادم.

مثال:

قراءة وكتابة الملفات

لعرض محتويات الملف بالكامل ببساطة، تعتبر الدالة readfile()‎ مثالية. بناء الجملة الخاص به هو:

readfile (اسم ملف السلسلة)، حيث اسم ملف السلسلة هو اسم ملف السلسلة (وليس مقبضًا).


يمكن قراءة نفس الملف باستخدام الدالة fpassthru(). يقرأ البيانات من موضع مؤشر النهاية إلى نهاية الملف. بناء الجملة الخاص به هو:

int fpassthru (ملف int)

تتطلب الوظيفة فتح وإغلاق ملف. مثال:

والنتيجة مشابهة للنتيجة السابقة.

تتيح لك وظائف العمل مع الملفات في PHP قراءة المحتوى سطرًا تلو الآخر وحرفًا تلو الآخر:

  • سلسلة fgets (ملف int، طول int)- تقوم الدالة بقراءة سلسلة من الطول length . مثال:

  • عدوى السلسلة (ملف int، طول int)- الإجراء مطابق للإجراء السابق.

لكتابة بيانات نصية إلى ملف، هناك وظيفتان متطابقتان:

  • int fputs (ملف int، سلسلة سلسلة [، int length])
  • int fwrite (ملف int، سلسلة سلسلة [، طول int])

تكتب الوظائف إلى ملف int file سلسلة سلسلة بالطول المحدد int length ( حجة اختيارية). مثال:

إنشاء وحذف الملفات

لإنشاء ملف PHP، يمكنك استخدام الدالة fopen() في وضع الوصول "w" أو "w+". أو وظيفة اللمس (). فهو يحدد وقت التعديل للملف. إذا لم يكن هناك عنصر بالاسم الذي تم البحث عنه، فسيتم إنشاؤه. بناء الجملة.

ظهرت PHP في وقت متأخر جدًا عن لغات البرمجة التي عززت مواقعها وصياغة أفكار عامة حول بناء الجملة والمنطق والمتغيرات وكائنات البرنامج الأخرى. لم تحرز الملفات والوظائف الخاصة بالعمل معهم تقدمًا، وحتى مشكلة ترميز الملفات التي نشأت لأسباب طبيعية لم تؤد إلى حلول جديدة جذريًا.

تصريحات او ملاحظات عامه

العمل الرئيسي مع الملفات، مهما كانت، يتكون من الفتح والقراءة/الكتابة والإغلاق. يمكنك استخدام وظائف حظر/إلغاء حظر الوصول إلى ملف أثناء معالجته، ويمكنك ضبط موضع القراءة/الكتابة في الملف - كل شيء هو نفسه كما كان من قبل، في الماضي البعيد.

من النقاط المهمة في PHP هي وفرة الوظائف للعمل مع الملفات وخيارات استخدامها. في الممارسة العملية، يكفي استخدام خيارات بسيطة ولكنها عملية. الملف هو في المقام الأول ذاكرة البرنامج. يمكنك تخزين المعلومات فيه. الغرض من أي برنامج، والغرض من أي موقع على شبكة الإنترنت هو تقديم المعلومات ومعالجتها وضمان سلامتها.

ظرف أساسي

في السابق، كانت متطلبات التوافق، على الأقل من الأسفل إلى الأعلى، لا تتزعزع. وهذا يعني أن البرنامج الذي تمت كتابته في إصدار واحد من لغة البرمجة يتم تجميعه/تفسيره بشكل مثالي في الإصدار التالي. في البرمجة الحديثة هذا ليس هو الحال. أصبحت متطلبات التوافق بين الهياكل النحوية للغة شيئًا من التاريخ، وأصبح الصراع بين الأساليب وأدوات البرمجة وإصدارات أدوات معينة هو القاعدة في حياتهم.

إن العمل مع الملفات، وكذلك مع قواعد البيانات، لا يقل أهمية عن واجهة الموقع. يجب أن يتم إنشاء الأول بحيث لا تكون هناك حاجة لتغيير رمز الموقع عند تغيير النظام الأساسي أو الاستضافة أو إصدار اللغة. يجب تضمين واجهة العمل مع الملفات في برنامج نصي منفصل وضمان التوافق الكامل، كما يجب أن يتكيف تصميم الموقع بشكل مناسب مع أي جهاز ومتصفح وتوفير بقية وظائف الموقع بنفس الإمكانيات.

اقرأ وغير نفسك

هل يستطيع البرنامج أن يغير نفسه، أي هل يمكن أن يتحسن البرنامج النصي؟ وحتى يومنا هذا، هذا السؤال يهم الكثيرين. لكن المهمة تبدو أكثر عملية: قراءة PHP لملف PHP. لا يستطيع المطور دائمًا حل مشكلة معينة عن طريق كتابة كود محدد. في بعض الأحيان يكون من الضروري تغييره عندما يأتي زائر إلى الموقع ويقوم بصياغة سؤال لم يكن متوقعا في مرحلة التطوير.

كما هو الحال في جميع الحالات الأخرى، أولا وقبل كل شيء تحتاج إلى فتح الملف. لا يهم ما إذا كان هذا الملف موجودًا أم لا. إذا كان من المعروف أن الملف موجود (الدالة file_exists() تعطي إجابة إيجابية)، يتم استخدام الدالة fopen() مع الوصول 'r'، 'r+'، 'a'، 'a+'. إذا لم يكن الملف موجودًا بعد، فيمكنك الوصول إلى "a" و"a+" و"w" و"w+". ستكون نتيجة فتح الملف هي واصفه. يتم إغلاق الملف باستخدام الدالة fClose().

من الملائم استخدام PHP لقراءة ملف في مصفوفة عندما لا تكون هناك حاجة لمعالجته في وقت القراءة.

إذا (file_exists($fName)) (

$aLines = ملف($fName)

في هذا الخيار، ينتقل كل سطر من الملف إلى عنصر الصفيف بشكل تسلسلي. تجدر الإشارة إلى أن وظائف file() أو file_get_contents() لا تحتاج إلى فتح الملف وإغلاقه.

عندما يكون ملف الإدخال كبيرًا جدًا وتحتاج إلى العثور على القليل من المعلومات، أو لأسباب أخرى، يمكنك استخدام PHP لقراءة الملف سطرًا تلو الآخر. توفر لغة PHP القدرة على القيام بذلك باستخدام الدالتين fgets() وfgetc().

$fvs = fopen($fName, "r")

بينما ((خطأ !== ($cLine = fgets($fvs, 2000)))) (

$cLines .= "
" . $i . "). " . $cLine

كلا الخيارين يعملان بشكل لا تشوبه شائبة. ومع ذلك، عند إجراء قراءة PHP لملف PHP لتعديله لاحقًا، يجب اتخاذ الاحتياطات اللازمة. ليس من الممكن دائمًا التنبؤ بكيفية استخدام الزائر لها في مرحلة تطوير الموقع. ومن الأفضل أن يتم تغيير البرامج النصية ضمن وظائف الموقع، ولا يكون التحكم في هذا التغيير متاحًا للزائر، بما في ذلك مسؤول الموارد.

حفظ النتائج

تتم كتابة المعلومات المستلمة والمحدثة إلى الملف بواسطة الدالة fputs() سطرًا تلو الآخر أو بواسطة الدالة file_put_contents() ككل.

$fName = $_SERVER["DOCUMENT_ROOT"] . "/tmp/scData.php"

$fvs = fopen($fName, "a")

قطيع($fvs، LOCK_EX)

$cLine = "سطر واحد". مركز حقوق الإنسان(10)

فبوتس($fvs, $cLine)

$cLine = "سطرين" . مركز حقوق الإنسان(10)

فبوتس($fvs, $cLine)

قطيع($fvs، LOCK_UN)

في خيار التسجيل سطرًا تلو الآخر، يمكنك معالجة البيانات أثناء عملية التسجيل؛ وفي الحالة الثانية، يتم وضع السلسلة المكتوبة أو المصفوفة في الملف بأكمله.

$file = "scData.php"

$cContents = file_get_contents(ملف$)

// إضافة إدخال

$cContents .= "إدخال جديد\n"

// أعد كتابة الملف

file_put_contents(ملف $، $cContents)

قراءة وكتابة ملفات PHP أمر سهل وطبيعي. ومع ذلك، من المهم أن تضع في اعتبارك: كل ملف له اسم وامتداد ومسار (مجلد). لكي يتمكن برنامج PHP النصي من قراءة الملفات وكتابتها، يجب أن يتمتع هذا البرنامج النصي بالحقوق المناسبة. يتم عرضها تلقائيًا على الاستضافة، لكن في بعض الحالات تحتاج إلى توسيع.

في بعض الحالات، قد يكون من المرغوب فيه التحقق من النتائج عن طريق إجراء اختبار القراءة. تتطلب كتابة ملفات PHP ذلك أثناء التطوير، ولكن في بعض الحالات، من أجل أمان الموقع أو موثوقيته، يعد التحقق من تسجيل البيانات أمرًا ضروريًا.

من السمات المميزة لـ PHP وMySQl وJavaScript، وخاصة المتصفحات: السماح بحدوث بعض الأخطاء بهدوء. "لم يتم التعرف عليه، لم يتم تنفيذه..." ليست ممارسة جيدة جدًا في أحدث تكنولوجيا المعلومات، ولكنها تعلم المطورين عدم ارتكاب الأخطاء وكتابة تعليمات برمجية نظيفة وعالية الجودة، وهو أمر ليس سيئًا أيضًا.

PHP والعمل مع وثائق حقيقية

من المؤكد أن قراءة PHP لملف PHP أمر ذو أهمية عملية، ولكن هذا هو عالم البرمجة. يهتم المستخدم وزائر الموقع بالمعلومات ذات الطبيعة التطبيقية، والتي اعتاد رؤيتها في شكل جداول ومستندات، على وجه الخصوص، بتنسيقات الملفات *.xlsx و*.docx. هذه ملفات بتنسيق MS Excel وMS Word.

عادة ما يتم تشكيل قوائم السلع والأسعار والخصائص على شكل جداول، لذا فإن قراءة PHP لملف Excel أمر ضروري.

وقد تم تطوير مكتبات PHPExcel وPHPWord للعمل مع مثل هذه الملفات. ومع ذلك، يتم تقديم محتويات ملفات *.xlsx و*.docx بمعيار OOXML، أي أن المستند الحقيقي والمفهوم معروض في أرشيف مضغوط. أرشيف Zip عبارة عن مجموعة من الملفات، بما في ذلك الصور والكائنات والصيغ والإدراجات من البرامج الأخرى. يتم تمثيل الملفات النصية هنا بأوصاف في شكل علامات. قراءة مثل هذا الملف ليست كافية؛ تحتاج إلى تحليله للحصول على محتوياته وبنيته للاستخدام والتعديل.

وهذا يعني أن عملية القراءة تتحول إلى إجراء فتح الأرشيف. تفتح هذه المكتبات أرشيف المستندات بشكل مستقل وتوفر للمطور وظائف واسعة النطاق لقراءة هذه المستندات ومعالجتها وكتابتها.

جداول اكسل

include_once "PhpOffice/PhpExcel/IOFactory.php"

الدالة scGetExcelFile($xls)(

$objPHPExcel = PHPExcel_IOFactory::load($xls)

$objPHPExcel->setActiveSheetIndex(0)

// تحتوي هذه المصفوفة على صفائف من السلاسل

$aSheet = $objPHPExcel->getActiveSheet()

صفيف $ = صفيف ()

//علاج

foreach($aSheet->getRowIterator() كصف $)(

$cellIterator = $row->getCellIterator()

foreach($cellIterator كـ $cell)(

array_push($item, iconv("utf-8", "cp1251", $cell->getCalculatedValue()))

array_push($صفيف، $item)

تعد قراءة ملفات Excel ومعالجتها أصعب بكثير من معالجة مستندات Word. الخيار الأفضل، إذا كنت بحاجة إلى تنفيذ مشروع جاد لقراءة ومعالجة المعلومات التطبيقية، هو إتقان مكتبة PHPWord أولاً. سيمنحك هذا خبرة جيدة وفهمًا سريعًا لتفاصيل المشكلة.

مستندات Word

سطرين فقط:

$oWord = جديد \PhpOffice\PhpWord\PhpWord()

$oDocx = $this->oWord->loadTemplate($cFileName)

مستند $cFileName متاح الآن للمعالجة. بعد ذلك، يتم فتح الأرشيف، واختيار محتوياته وتحليلها، والتي يمكن عرضها على الموقع الإلكتروني وتغييرها وكتابتها مرة أخرى.

$zipClass = جديد ZipArchive()

$zipClass->open($this->tempFileName)

// اقرأ محتويات المستند بالكامل

لـ ($i=0; $i<$zipClass->numFiles; $i++) (

$cNameIn = $zipClass->getNameIndex($i)

$cNameInExt = substr($cNameIn, -4)

إذا (($cNameInExt == ".xml") || ($cNameInExt == "rels")) (

// يتم حفظ الملفات ذات الامتدادات ".xml" و".xml.rels" في جدول المستندات

// تتم كتابة كل سطر XML برقم فريد بالترتيب

$cBodyIn = $zipClass->getFromName($cNameIn)

$cBodyInLen = سترلين($cBodyIn)

// تتم كتابة جميع الملفات الأخرى في مجلد المستندات كما هي

$cNameOnly = substr($cNameIn, strrpos($cNameIn, "/") + 1)

$zipClass->getFromName($cNameIn, $cWorkPath); // المحتوى كملف

تتيح لك الإمكانيات التي يوفرها PHP Excel وPHP Word التعامل مع المستندات الحقيقية وجعل محتواها ملائمًا في أي وقت. وفي عالم اليوم الديناميكي، يصبح هذا الأمر مهمًا للغاية. لقد انتقل مركز الثقل منذ فترة طويلة من الاستخدام المحلي لتكنولوجيا الكمبيوتر إلى فضاء الإنترنت الافتراضي. لذلك، يعد إنشاء الجداول والمستندات في منتجات Microsoft المحلية أقل كفاءة من العمل مع هذه المستندات في الوضع التلقائي وشبه التلقائي على موقع ويب، والذي لا يمكن لمنشئ الجدول أو المستند الوصول إليه فحسب، بل يمكن لعملائه أيضًا الوصول إليه.

الملفات النصية، حياة أخرى

للتقريب الأول، تكون الملفات النصية أبسط من ملفات PHP أو مستندات التطبيق. ومع ذلك، هناك شيء للتفكير فيه. لقد تمت الإشارة إلى عمليات القراءة/الكتابة لهذه الملفات أعلاه، ولكن معنى هذه الملفات أكثر أهمية.

نظرًا لوجود عميل وخادم (تهيمن JavaScript على الأول ، والثاني PHP) ، فحتى آليات ملفات تعريف الارتباط والجلسات لا يمكنها التعامل مع الحاجة إلى نقل المعلومات بين البرامج النصية أو الصفحات أو عمليات معينة.

من الممكن أن تعكس التغييرات المرغوبة في قاعدة البيانات، ولكن مع كل مزاياها وسرعتها، يمكن أن تكون الملفات النصية الصغيرة المؤقتة أو الدائمة خيارًا أكثر إثارة للاهتمام لنقل المعلومات. إذا لم تقم بإنشاء الكثير من الملفات الصغيرة والتحكم في حجمها، فيمكن أن تكون إصدارًا محددًا وأكثر مرونة من قاعدة البيانات.

قراءة PHP للملف النصي سريعة، ويمكن تحليلها على الفور إلى بنية أو مصفوفة أو كائن. هذا الأخير مهم للغاية، لأنه يسمح لك بإنشاء كائنات تعيش خارج الوقت المخصص لبرنامج PHP النصي، والذي، كما تعلم، لا يمكن أن يوجد إلا على الخادم وفقط في لحظة تحميل الصفحة، تكون استجابة AJAX تم إنشاؤها، أو لسبب آخر يؤدي إلى تشغيل مترجم PHP.

إذا كنت تفكر في حقيقة أن الملف النصي هو المحتوى والبنية من المطور، فإن ملف PHP هو بناء جملة المترجم بالإضافة إلى منطق المطور، والأوصاف "الموسومة" html وcss وxml هي عناصر دلالية أكثر، ولكنها منظمة بالمعايير الساكنة. يمكن للمرء أن يتوصل إلى استنتاج مفاده أنه ربما حان الوقت لاكتساب الملفات محتوى جديدًا، وهذا بحد ذاته يجب أن يحدد جودتها ومنطق استخدامها. على وجه التحديد لأن البرمجة ليست جاهزة بعد للمرحلة التالية من تطورها، تظل الملفات اليوم مجرد ملفات ينشئها المطور ويحدد استخدامها.

الشيء الأكثر إثارة للاهتمام والواعد هو عندما تقرأ PHP ملف PHP بشكل مستقل عند الحاجة. وقراءة PHP البسيطة لسطر من ملف تؤدي إلى إنشاء كائن، على الأقل في الحالة التي تم حفظه فيها. هذه ليست أفكارًا مألوفة تمامًا، ولكن في العالم الحديث يتغير كل شيء بسرعة كبيرة.



 

قد يكون من المفيد أن تقرأ: