الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أدمج 3 ملفات php في ملف واحد ؟؟؟

مغلق
بدأه أبو ضي في 20 نوفمبر 2004 · 12 رد · 996 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي سكربت صوتيات يتكون من مجموعة من الملفات وأهمها ثلاث ملفات هي:

index.php الصفحة الرئيسية ويعرض فيها جميع التصنيفات الرئيسية

sound.php صفحة عرض كل المقاطع الصوتية المدرجة تحت تصنيف معين

details.php صفحة عرض المقطع الصوتي ومعلومات حوله..

المطلوب كيفية دمج هذه الملفات الثلاث في ملف واحد وليكن اسمه مثلاً abc.php

اتمنى أن أجد إجابة لأني تعبت وحاولت كثير لكن للاسف كل محاولاتي باءت بالفشل..

للاطلاع على الملفات يمكن تحميل السكربت من هذا الموقع:

http://www.emides.com/index.php?s=iv

ارجو أن أجد رد في أقرب وقت..

ربما لا يكون هذا القسم المناسب لهذا السؤال ،،، فاعذروني لأني جديد على المنتدى.

وكل عام وانتم بخير

اخوكم أبو ضي

مبتدئ php

#2

جاري التحميل

لكل هل لي ان اعرف لماذا تريد دمج هذه الملفات مع بعضها

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#3

ممكن ان تقوم بذلك بطريقتين

include function

and IO operations

include("details.php");

او

$File = fopen("details.php","r");
while not eof $File
{
//read
}
//write to abc.php

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#4

اخي راكان

هل جربت العملية

لاني لا اتوقع ان تعمل

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#5

اسف للتطفل و لكن اظن ان طريقة ال include سليمه لانها ستسمح باستخدام كل الدوال الموجوده فى الصفحات الثلاثه فى الصفحه المعمول بها Include للصفحات الثلاثه

اما الطريقه الثانيه فاعتقد انه لابد و ان يكون لديك صلاحية الكتابه للملف abc.php و بالتالى فالطريقه الاولى افضل

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 21 نوفمبر 2004 في 01:01

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#6

عذرا شباب

لكن هل لاحظم عند تحميل السكريبت ان الملفات التي يود القيام بدمجها لا تحوي فقط على Function او Class او Constanat

لكنها صفحات مستقلة بحد ذاتها و تقوم بعمليات عبر متحولات الـ Get او متحولات الـ Post لذلك لا يمكن دمجها الى الا اذا تم انشاء صفحة جديدة لكنها باسلوب متحول اخر مثل Action ليحدد الملف المستخدم عند عملية المعالجة

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#7

لا ستعمل الطريقة اذ انها عملية قراءة ملف و الذي يحتوي على الكود و ليس نتائجه(اذا استعملت file function)

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#8

شكراً لك اخي راكان..

لكن ياحبذا لو قمت بتحميل السكربت وجربت الطريقة لانها لم تعمل معي..

انا حاولت اتعبث بالملفات الثلاث وقمت بتجميعهم في ملف واحد

وحاولت بعدة طرق

ونجحت (( لو كان عدد الملفات 2 فقط..))

قمت بعمل التالي:

if (!isset($catid)) {
if (!isset($linkid)) {

// واضع هنا محتويات الملف الرئيس index.php

}

else {

// وهنا محتويات الملف sound.php

}
}
else { 

// محتويات الملف datelis.php

}

وأنجح في عرض محتوى الصفحة الرئيسية كبداية ،، لكن عند الضغط على رابط يوجهني لمحتوى الملف sound.php

لا يتم عرضه !!

بينما يتم عرض محتوى ملف datelis.php لو ضغطت على رابط عرض المقطع الصوتي..!!

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

بصراحة تعبت واتمنى منكم المساعدة..

بالانتظار.

وشكراً

#9

اخي الكريم

في الحقيقة من البداية طلبك غريب لانني لا اجد اي سبب مقنع في مخيلتي

على كل حاول تجرب على switch و case لانها افضل من IF في هذه الحالات

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#10

ربما طلبي غريب بعض الشيء اخي الحبيب مصطفى..

لكن الأغرب أني في لم أجد إجابة شافية عبر ثلاثة أيام وأنا في عرين المبرمجين العرب..!!

لم يقم أحد بتحميل الملف الذي وضعت له رابط في بداية الموضوع ويحاول أن يساعدني...

حقيقة رغم شكري وامتناني لما تفضلتم به من محاولات إيجاد حلول إلا أن أملي قد خاب للأسف.. :(

شكراً للجميع.

#11
else {

// وهنا محتويات الملف sound.php

}
}
else { 

// محتويات الملف datelis.php

}

هذه القطعة من الكود غير صحيحة لانه details.php لن يتم عرضها لسبب انه المترجم سيقوم بالذهاب الى اول else يراها في الكود و يتعدا باقي ال if block

لذا فقم بتعديل الكود الى

if (!isset($catid)) {
if (!isset($linkid)) {

// æÇÖÚ åäÇ ãÍÊæíÇÊ ÇáãáÝ ÇáÑÆíÓ index.php

}

elseif($ShowSound==true) {

// æåäÇ ãÍÊæíÇÊ ÇáãáÝ sound.php

}
}
else { 

// ãÍÊæíÇÊ ÇáãáÝ datelis.php

}

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#12

اخي الكريم

انا حملت المف على جهازي من اول ما طرحت طلبك

لكن الحقيقة انا لم اشغله , لانني شاهدت الكود الموجود في ملفات التي طلبت دمجها و عرفت من المتحولات ( المتغيرات ) الموجودة فيها الصعوبة التي تعتري هذا الامر

يعني عملية الدمج اذا صحت ستتم بهذه الطريقة و عبر متحول مثلا اسمه Action و سيأخذ ثلاث حالات

+sound.php

+detail.php

و عبر هذه الطريقة

switch ($_GET['action'])
{
case 'sound';
{
incloud ("sound.php");
exit;
break;
}
case 'detail';
{
incloud ("detail.php");
exit;
break;
}
}

غالبا هذه هي الطريقة , لكنها تعتمد على المتحولات التي لم ادرس لك بنيتها , لانها الموضوع الاصعب بهذه الحلقة

امل ان لا تعتب علينا بهذه الحالة فالموضوع بحاجة الى دراسة المشروع سطر سطر لتحويله الى هذه الطريقة

لكنك لحد الان لم نعرف السبب الوجيه لهذا الامر ( الدمج )

و الله اعلم

Let's google help you Before ask

--------------------------

My Blog : www.phplover.net

#13

السلام عليكم

اخي الكريم فهمت قصدك و اليك الحل التالي:

<?php

/*
#####################################
سكربت صوت الإسلام النسخة 1.0
Islamic Voice (IV)
جميع الحقوق محفوظة للإمارات لخطط الإستضافة والتصميم
http://www.emirateshost.com
support@emirateshost.com
#####################################
*/


// هذه هي الصفحة الرئيسية للإسكريبت
// يتم فيها عرض جميع التصنيفات الرئيسية و الموجوده في قاعدة البيانات

include("config.php");
include("header.php");
switch($page)

{


case "sound" :

include("sound.php");

break;

case "details" :

include("details.php");

break;

default:

include("intro.php");

break;

}
include("footer.php");
?>

ثم قم بتسمية الصفحة باسم index.php

ثم اعمل صفحة اسمها intro هذا هو السكربت لها

<?php

echo'
<table border="1" width="100%" cellpadding="3" bordercolorlight="#FFC18A" bordercolordark="#FFFFFF" cellspacing="3" bgcolor="#FFEBD9" style="font-family: Tahoma; font-size: 8pt">


	';
// جلب جميع التصنيفات الرئيسية


$maincat = mysql_query("SELECT * FROM sound_cat WHERE parentcatid = 0");
while ( $row3 = mysql_fetch_array($maincat) ) {
?>
	<tr>
  <td background="iv_files/bg3.gif" align="center" width="365">
  <p align="center">إسم القسم</td>


  <td background="iv_files/bg3.gif" align="center" width="128">
  <span lang="ar-sa">عدد المقاطع</span></td>


  <td background="iv_files/bg3.gif" align="center" width="85">
  <span lang="ar-sa">آخر إضافة</span></td>


	</tr>
 <tr>
<td background="iv_files/bg2.gif" align="center" width="365"><p align="right"><a href="sound.php?catid=<? echo $row3[catid] ?>"><? echo $row3[catname] ?></p></a></td>
<td background="iv_files/bg2.gif" align="center" width="128">
<?
$query11 = mysql_query("SELECT * FROM sound_link where catid = $row3[catid] ");
echo (mysql_num_rows($query11));

?>
</td>
<td background="iv_files/bg2.gif" align="center" width="85">
<?
$maincat1 = mysql_query("SELECT * FROM sound_link where catid = $row3[catid] order by date LIMIT 1");
while ( $row = mysql_fetch_array($maincat1) ) {
echo "$row[date]";
}
?>
</td>
</tr>
<tr>
<td background="iv_files/bg2.gif" align="center" width="712" colspan="3"><br><? echo $row3[catdes] ?></td>


<?

 }
echo'</tr>';
echo'</table>';

?>

هذه الصفحة تحوي فقط الجدول الي بمنتصف الصفحة

و بنفس الطريقه غير صفحة ال sound بحيث تحوي فقط الجدول الي بالمنتصف

و لا تنسى ان تغير كل رابط

<a href="sound.php"<

الى

<a href="index.php?page=sound"<

وهكذا بالنسبة لصفحة التفاصيل و بنفس طريقة تغيير الرابط لصفحة الصوت غير الرابط لصفحة التفاصيل

و انا متاكده من النتيجة واذا صادفتك اي مشاكل او لديك اي استفسار لا تترددد

شكرا

تم تعديل هذه المشاركة بواسطة phonix في 24 نوفمبر 2004 في 16:13

هذا الموضوع مغلق.

مواضيع مشابهة