المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : إستدعاء ملفات البي اتش بي(include)


هديل
22-03-2003, 04:02 AM
- لو كان لدينا شرط يتحقق من قيمة ما ، وبناء على هذه القيمة سيتم إدراج ملف سواء بـ require أو بـ include ، يفضّل هنـا أن يتم إستخدام الدالة include لأنها ستقلل الحمل على المستضيف بمنعى أنه لو كان لدينا الكود التالي :
Code ..


<?
if ($var == 1) {
include("file1.php");
} else {
include("file2.php");
?>





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

2- دالة الـ include يمكن أن نسترجع منها قيماً وتسندها إلى متغير آخر ( نجاح أو فشل مثلاً ) ، بينما دالة الـ require لا يمكنها القيـام بذلك ، ولتوضيح الفكرة قم بفتح ملف جديد وأعطه الإسم fp.inc ، واحفظ فيه ما يلي :
Code ..


<?
@$fp = fopen($name, $mode);
if (!$fp) {
echo "يوجد مشكلة في فتح الملف ..";
return 0;
} else {
return 1;
}
?>





وكذلك أفتح ملفاً جديداً وسمه main2.php واحفظ فيه ما يلي :
Code ..


<?
$name = "main.php";
$mode ="r";
$result = include("fp.inc");
if ($result == 1) { echo "تم الوصول الى الملف ..";}
?>





بإفتراض أنك قمت بتطبيق المثـال الأول ، وحفظت الملفين السابقين في نفس المجلد الذي يحتوي على ملف الـ main.php ، عند تنفيذك المثـال السـابق ( أقصد ملف الـ main2.php ) ستجد أن كلمة ( تم الوصول الى الملف ) قد ظهرت لك ، ما يهمني هنا سواء ظهرت نفس الجملة أو الجمل الأخرى ( يوجد مشكلة في فتح الملف ) أن الدالة include قد تفاعلت معنا وقمنا باسترجاع قيمة الشرط فيها والتي تتحكم فيها دالة return ، وقمنا بإسنـادها الى متغير ( في مثالنا كان المتغير هو result$ ) ، بينما دالة الـ require لا يمكن أن تفعل ذلك ، جرب ذلك بنفسك وغير دالة include في ملف الـ main2.php الى require ولن يتم طباعة شي سواء تمت العملية أو لو تتم .
بقلم : OneTo9

Xacker
22-03-2003, 04:10 AM
يعطيك العافية اخت هديل
طيب سؤال بما انه وقت مناسب تقريبا
ان كان الكود بهذا الشكل واردته ان يقرا سطر عشوائي من ملف نصي فهل هو صحيح ان قمت بكتابة كود ال php ضمن كود ال html بهذه الطريقة ؟ وهل سيتم التاثير على النص بالوسمات المحاط بها كود ال php او لازم خليها ضمنه ؟




<span style="font-size:40pt; color:#666666"><B>Quote: <font color=#ffffff size=1>
<?
$x=0;
$whattoread = @fopen("quotes.txt", "r") or die("Could not open file, contact web master");
while (!feof($whattoread))
/* READS THE QUOTES IN AND STORES THEM IN AN ARRAY */
{
$quote_array[$x]=fgets($whattoread,4096);
$x+=1;
}
$choice=rand (0,($x-1));
echo "$quote_array[$choice]" ;
?>
</font></B></span></DIV></td>

هديل
22-03-2003, 04:33 AM
هلا Fatal-Terror
نعم اخى صحيح وسوف يتم قرائتها من ملف quotes.txt وهناك طريقة ابسط وهيا
........
الطريقة الاولى
.........................
<?
$quote = file("quotes.txt");
srand((double)microtime()*1000000);
echo $quote[rand(0,count($quote))];
?>
....................................
والطريقة الاخرى وهي بدون استدعاء اي ملفات
..............................
<?php

/*
* تجربة على استدعاء الملفات منتديات المشاغب

$q = array();


$q[] = 'ضع هنا ماتريدِ';
$q[] = 'ضع هنا ماتريدِ';
$q[] = 'ضع هنا ماتريدِ';

echo $q[mt_rand(0, count($q)-1)];

?>
......................
وكل ماتريد إضافة سطر اضف
$q[] = 'ضع هنا ماتريدِ';

Xacker
22-03-2003, 04:51 AM
الف الف الف الف شكر يا افضل مشرفة بالعالم
تحياتي الحارة والف شكر مرة اخرى حليتيلي هالمشكلة اللي معظم المنتديات ما اجابوني عنها الله يبعد عنك كل المشاكل
:)

هديل
25-03-2003, 01:53 AM
العفو اخى Fatal-Terror وهاذا واجبي نحو الاعضاء مساعتدهم