PHP: قراءة ملف PHP. العمل مع الملفات في PHP: القراءة والكتابة والتوصيات

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

ملاحظات عامة

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

php قراءة ملف php

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

ظرف أساسي

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

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

قراءة وتغيير نفسك

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

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

فب قراءة ملف خط سطرا

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

إذا (file_exists ($ fName)) {

$ aLines = file ($ fName)

}

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

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

$ cLines = ""

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

$ i = 0

while ((false! == ($ cLine = fgets ($ fvs، 2000))))) {

$ i ++

$ cLines. = "<br/>". $ i. ")". $ c

}

fclose ($ fvs)

فب قراءة ملف في مجموعة

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

حفظ النتائج

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

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

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

قطيع ($ fvs ، LOCK_EX)

$ cLine = "سطر واحد". chr (10)

fputs ($ fvs، $ cLine)

$ cLine = "خطان". chr (10)

fputs ($ fvs، $ cLine)

fflush ($ fvs)

قطيع ($ fvs ، LOCK_UN)

fclose ($ fvs)

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

$ file = "scData.php"

$ cContents = file_get_contents (ملف $)

// إضافة سجل

$ cContents. = "new entry"

// اكتب الملف مرة أخرى

file_put_contents ($ file، $ cContents)

قراءة ملفات php

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

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

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

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

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

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

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

php قراءة خط من ملف

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

جداول Excel

لقراءة جدول بيانات Excel ، يكفي معرفة اسم ملفه والمسار إليه ($ xls). نتيجة لتنفيذ التعليمة البرمجية التالية ، سيتم إنشاء صفيف من قيم جدول Excel الأصلي:

include_once 'PhpOffice / PhpExcel / IOFactory.php'

وظيفة scGetExcelFile ($ xls) {

$ objPHPExcel = PHPExcel_IOFactory :: load ($ xls)

$ objPHPExcel-> setActiveSheetIndex (0)

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

$ aSheet = $ objPHPExcel-> getActiveSheet ()

صفيف $ = array ()

// المعالجة

foreach ($ aSheet-> getRowIterator () كـ $ row) {

$ cellIterator = $ row-> getCellIterator ()

$ item = array ()

foreach ($ cellIterator as $ cell) {

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

}

array_push ($ array ، $ item)

}

عودة مجموعة $

}

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

مستندات Word

سطرين فقط:

$ oWord = جديد PhpOfficePhpWordPhpWord ()

$ 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)

if (($ cNameInExt == ".xml") || ($ cNameInExt == "rels")) {

يتم تخزين ملفات // مع الملحقات ".xml" و ".xml.rels" في جدول المستندات

/ / كل سطر xml مكتوب برقم فريد بالترتيب

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

$ cBodyInLen = strlen ($ cBodyIn)

} آخر {

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

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

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

}

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

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

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

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

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

فب قراءة ملف نصي

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

أفكار واعدة وتوصيات

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

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