سلام عليكم
هذا اول درس لي في المنتدي
بشرح لكم اليوم بشكل شبه مختصر طريقه عمل تعدد لغات في الصفحه ،،
اول بعرض لكم فكره عمل الطريقه بشكل سريع نظري ثم نبدأ شرح تطبيق :
باختصار شديد الفكره عباره عن فتح اتصال بمجلد مثل نسميه Languages وداخل هذا الملجد يأتي مجلدات اللغات مثل arabic و english ثم نتاكد من مسار ملفات اللغه في البرنامج بعدها نعمل مصفوفه باسماء الملفات وحلقه تكرار الأستخراج جميع ملفات اللغه وعرضها بصفحه ثم استدعاء ملفات اللغه ،،،
هذا الكود كامل ثم نأتي الي شرحه :
كود PHP:
<?php
/*-------------------------
By Abdullah Al-Otibi
Email : Abdulah@otibi.net
+------------------------*/
$language = (isset($_GET['language']) ? $_GET['language'] : "arabic");
$long = Languages("language",true);
for ($i = 0; $i < count($long); $i++)
{
if ($long[$i] == $language)
{
print "<b> $language </b>";
}else{
print "<a href='index.php?language=$long[$i]'>".$long[$i]."</a>";
}
}
include("language/".$language."/language.php");
print "<br>"._ARABSGATE_;
function Languages($folder,$sort=true)
{
$language = array();
if ($db = opendir($folder))
{
while ($file = readdir($db))
{
if ($file == "." or $file == "..")
{
continue;
}
$language[] = $file;
}
}else{ die("ERROR"); }
closedir($db);
$sort = $sort ? sort($language) : false;
return $language;
}
?>
هذه داله الاتصال بمجلد اللغات وعمل مصفوفه باسماء اللغات :
كود PHP:
function Languages($folder,$sort=true)
{
$language = array();
if ($db = opendir($folder))
{
while ($file = readdir($db))
{
if ($file == "." or $file == "..")
{
continue;
}
$language[] = $file;
}
}else{ die("ERROR"); }
closedir($db);
$sort = $sort ? sort($language) : false;
return $language;
}
سوف نشرحها :
صنعنا داله خاصه بنا واسميناها Languages تاخذ متغيرين وهما folder and sort قيمه متغير folder هو اسم مجلد الموجود بداخله ملفات اللغه ،، اما قيمه متغير sort ترتيب اسماء ملفات ابجدياً ،،
ثم نضع متغير باسم ملف اللغات $language = array(); وقيمته مصفوفه خاليه والهدف منه اضافه اللغات بداخله هذه المصفوفه بعد عمليه حلقه التكرار ،،
ثم عملنا شرط تاكد من فتح مجلد الغات والاتصال به : if ($db = opendir($folder)) باستخدام داله opendir ،،
اذا لم يتم فتح المجلد والاتصال به سوف ينفذ السطر ما قبل الاخير بالداله الي هو :
}else{ die("ERROR"); } سوف يطبع كلمه خطا ERROR ،،
بعد عمليه الاتصال نعمل حلقه تكرار الاستخراج ملفات اللغه واحد تلو الاخر :
كود PHP:
while ($file = readdir($db))
ثم عملنا شرط نتاكد بانه ملفات اللغه التي نريد طباعتها تم ادخاله ضمن مصفوفه الملفات file اذا كان اسماء ملفات لا يطابق الشرط سوف يخرج من هذه الدوره وينتقل الي التي تليها ،،
كود PHP:
if ($file == "." or $file == "..")
{
continue;
}
ثم اضفنا اسماء ملفات الي مصفوفه $language[] = $file;
ثم نغلق الاتصال : closedir($db);
ثم نرتب مصفوفه ملفات اللغه ابجداً :
كود PHP:
$sort = $sort ? sort($language) : false;
بكذا نكون عملنا الداله اللغات الان نعمل لغه افتراضيه للصفحه بالكود التالي :
كود PHP:
$language = (isset($_GET['language']) ? $_GET['language'] : "arabic");
ثم نعمل متغير وقيمته داله اللغات التي شرحناها سابقه :
كود PHP:
$long = Languages("language",true);
ثم نعمل حلقه تكرار لجميع للغات وعرضها بالصفحه بالكود التالي :
كود PHP:
for ($i = 0; $i < count($long); $i++)
ونعمل شرط اذا تم اختيار اللغه اطبعها :
كود PHP:
if ($long[$i] == $language)
{
print "<b> $language </b>";
}else{
print "<a href='index.php?language=$long[$i]'>".$long[$i]."</a>";
}
وفي النهايه نستدعي مجلد اللغات :
كود PHP:
include("language/".$language."/language.php");
وبكذا نكون عملنا تعدد لغات في صفحتنا وامكانيه اختيار اللغه المفضله بنفس الصفحه ،
اضغط هنا لتحميل المثاااااااال
اتمني اني وفقت بشرح وبسطت الصوره واسمحولي علي القصور
لا تنسوني بدعواتكم اخووكم عبدالله