السلام عليكم
اخواني الكرام
هناك عدة دوال لفتح و قراءة الملفات
و اريد ان اعرف خصائصها و فوائدها و وجه الاختلاف بينها
الدوال هي مثل
fopen
file
include
recuier
و هناك غير هذه الدوال لفتح الملفات فما الفرق ؟؟ :con2:
السلام عليكم
اخواني الكرام
هناك عدة دوال لفتح و قراءة الملفات
و اريد ان اعرف خصائصها و فوائدها و وجه الاختلاف بينها
الدوال هي مثل
fopen
file
include
recuier
و هناك غير هذه الدوال لفتح الملفات فما الفرق ؟؟ :con2:
__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
تفضل معنا خدمات الاستضافة
موقع العبقري لخدمات الاستضافة
السلام عليكم.....
هنالك فرق في عمل كل دالة عن الأخرى... أولاً سنأخذ include و require كمجموعه، و fopen و file كمجموعه ثانيه...
دوال المجموعه الأولى تستخدم لتضمين الملف بداخل السكربت، أي تطبيق جميع الأوامر (أوامر php) الموجودة في الملف الخارجي بداخل الملف الذي استخدمت فيه هذا الأمر... على سبيل المثال لديك config.php والذي يحتوي معلومات قاعدة البيانات (اسم المستخدم/ كلمة السر/اسم القاعده)، و لديك الملف connect.php والذي يحتاج للمعلومات الموجوده في ملف config.php لكي يتمكن من الاتصال بالقاعدة من خلال الأمر mysql_connect. هنا يجب عليك (تضمين) الملف config.php بداخل الملف connect.php لتتمكن من استخدام المتغيرات التي فيه، و تطبيق جميع الأوامر الموجودة فيه.
يختلف الأمر inlcude عن require في شئ واحد فقط... وهو الخطأ الذي سيصدر في حالة عدم وجود الملف المطلوب. عند استخدام require وعدم وجود الملف، سيتوقف السكربت عن العمل ويصدر خطأ Fatal Error! أما عند استخدام include وعدم وجود الملف سيواصل السكربت العمل ويصدر تحذير فقط warning.
نأتي الآن للمجموعة الثانيه، file و fopen,,,
هذه الدوال تستخدم لقراءة محتويات الملف وليس للتضمين. فلو فرضنا مثلاً أنك تريد عرض هذا الموضوع الذي نحن فيه في موقعك، ستقوم بقراءة محتويات هذه الصفحه (http://www.swalif.net/softs/showthread.php?t=144460) ثم عرضها لديك في موقعك. لاحظ هنا انك لن تصل الى أوامر البي اتش بي في هذا الملف (showthread)، فقط ستقرأ الناتج من الصفحه ثم عرضه لديك.
والفرق بين file و fopen,, أن الأول (file) مختصه فقط في قراءة محتويات الملف، ووضع المحتويات في مصفوفه تحتوي على كل سطر، جرب التالي:
اما بالنسبة للداله fopen، فهي تقوم بفتح الملف فعلياً (إذا كان هنالك صلاحية لفتح الملف)، ومن ثم قراءة محتوياته، أو يمكنك حتى الكتابة فيه! تستخدم هذه الدالة على سبيل المثال في تتبع الأخطاء في الموقع. البعض لا يفضل استخدام قاعدة بيانات وتصميم جدول فقط لحفظ الأخطاء التي تحصل في الموقع (الصفحه غير موجوده مثلا).. لذلك يستخدمون هذه الداله لفتح ملف (ليكن اسمه log.txt مثلا) ثم تسجيل الخطأ الذي حصل فيه.كود PHP:
$file = "http://www.swalif.net/softs/showthread.php?t=144460";
$output = file($file);
foreach( $output as $line )
{
echo $line;
}
يمكننا أن نقول أن الداله file هي نسخه مصغره من الداله fopen، حيث الأخيره توفر خيارات أكبر...
هذا والله تعالى أعلم.. وإن كنت قد أخطات أتمنى أن أجد من يوضح لي خطأي..
بوجــــــبر
__________________
بوجبر
http://www.ba7reny.com
بحريني دوت كوم (موقع صديق)
123
التعديل الأخير تم بواسطة M-Plus ; 11-01-2006 الساعة 06:45 PM سبب آخر: مكرر
__________________
بوجبر
http://www.ba7reny.com
بحريني دوت كوم (موقع صديق)
شكرا لك اخي الكريم على هذه المعلومات الوافيه
لكن كنت اريد اسئلك هل هناك اي فرق في سرعة التضمين او القراءه بينها
و ايهم انت تفضله لادخال ملف html الى ملف php ??
__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
تفضل معنا خدمات الاستضافة
موقع العبقري لخدمات الاستضافة
السلام عليكم....
لا أعتقد بوجود فرق، وان كان هنالك فرق في السرعه فان شئ بسيط لا يكاد يذكر... الفرق الحقيقي هة بين ادراج الملف من داخل السرفر أو من سرفر آخر (موقع آخر)، حيث الأخير يحتاج الى وقت أكبر بكثير...
بالنسبة لإدخال ملف html بداخل ملف php فإن كان الإدراج من داخل السرفر نفسه (اي انني اريد ان ادرج صفحه هتمل موجودة في موقعي بداخل احد صفحات php) فسوف استخدم الادراج include ولن أستخدم require، حيث أن الأخيرة ستوقف عمل السكربت وتعطي رساله خطأ في حال لم يوجد ملف الهتمل... أما اذا كنت اريد قراءة مصدر الهتمل فقط واقوم ببعض التغييرات عليه قبل عرضه فسوف استخدم الداله file (كما في المثال في ردي السابق)... هذا إن لم أحتاج الى تعديل الملف نفسه، إذا احتجت الى تعديل الملف وحفظه بعد التعديل فلا بد أن استخدم fopen...
في النهاية أخي الكريم، يعتمد استخدامك للداله المناسبة على ماتريد ان تعمله:
1- include مجرد تضمين خالي بدون توقف في حال لم يوجد الملف
2- require تضمين مع التأكيد على وجود الملف، و التوقف في حال عدم وجوده
3- file لقراءة المصدر source وعرضه في الصفحه (ربما مع بعض التعديلات فبل العرض)
4- fopen لفتح الملف فعليا و التعديل فيه، وربما قراءة محتوياته...
وكما ذكرت بالأعلى، هذا يعتمد على ماتريد عمله...
أخوك / بوجــــــــــبر
__________________
بوجبر
http://www.ba7reny.com
بحريني دوت كوم (موقع صديق)
شكرا لك اخي الكريم بوجــــــــــبر
__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
تفضل معنا خدمات الاستضافة
موقع العبقري لخدمات الاستضافة