PDA

مشاهدة نسخة كاملة : برمجة مركز تحميل متكامل


F-15
06-19-2006, 05:14 PM
السلام عليكم

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

بسم الله ..

سنتعلم كيف ننشيء ملف ويتم عن طريقة تحميل الملفات من الجهاز

اولا سنحتاج الى عمل فورم بسيط فيه حقل لاستعراض الملف من الجهاز ، وزر لارسال الملف ..

<form method='POST' enctype='multipart/form-data' action='up.php'>
<input type='file' name='fileup' size='20'>
<input type='submit' value='تحميل'>
</form>



احفظ الكود السابق في صفحة html باي اسم

ملاحظات على الكود :
1. تم تعين اتجاه الفورم الى صفحة up.php .
2. الكود التالي :

enctype='multipart/form-data'



هو الكود الخاص بعرض حقل الاستعراض لاختيار الملف .
3. اسم حقل الملف هو fileup .

الان نأتي الى كود صفحة up.php

اولا سنحتاج الى تعريف ( المسار ) لتحميل الملفات ..

لمعرفة المسار ضع الكود التالي باي صفحة php

<?
echo realpath("files");
?>



وغالبا اكثر المواقع يكون المسار لها ه:/home/User/public_html/files

استبدل User باسم الدخول الى حساب ftp لموقعك .. مع وضع ملف files بالمجلد www مباشرة . او ضع المسار الصحيح للمجلد ..

سنضع المسار بمتغير :


<?
$path = "/home/User/public_html/files";
?>




ايضا سنضيف الى المسار اسم الملف وهو تلقائي معرف من php كالتالي :

$path .= "/$fileup_name";




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

$alemtdadat = array('.gif','.pmb','.jpg','.jpgf','.zip');


الان نظهر امتداد الملف المختار عن طريق هذه الدالة strrchr();

$att = strrchr($fileup_name,'.');


و وضعناه بمتغير جديد ..

الان نستخدم دالة in_array() للتأكد من وجود امتداد الملف في الامتدادات المصفوفه حقنا ..

if(! in_array($att,$alemtdadat)){
echo " عفوا هذا الامتداد غير مسموح به !!";
}else{
// البقية



الان طريقة تحديد حجم الملف ..
نضع متغير جديد فيه اكبر حجم مسموح به
$maxsize = "81920";
// تعادل 80 كيلوبايت



الان نطلع حجم الملف المختار عن طريق دالة filesize();

$file_size = filesize($fileup);


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

وبالتالي حدث تغير على الكود السابق
if(! in_array($att,$alemtdadat)){
echo " عفوا هذا الامتداد غير مسموح به !!";
}else if($file_size > $maxsize ){
echo " حجم الملف المختار اكبر من الحجم الاقصى ";
}else{

// بقية الملف


سنستخدم دالة copy لنسخ الملف وطريقة كتابتها كالتالي :

$CopyFile = copy($fileup,"$path");


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

if($CopyFile){

echo " تم تحميل الملف بنجاح ، رابط الملف : ";
echo "<a href='http://$HTTP_HOST/$fileup_name'>http://$HTTP_HOST/$fileup_name</a>";

}else{

echo " لم يتم تحميل الملف ";

}



نقفل الوسوم
}
}
}

الان كود up.php كامل

<?
if($fileup == ""){
ECHO " قم باختيار الملف المراد تحميله ";
}else{
$path = "/home/User/public_html/files";

$path .= "/$fileup_name";

$att = strrchr($fileup_name,'.');
$alemtdadat = array('.gif','.jpg','.jpgf','.zip','.rar');
$maxsize = "81920";
$file_size = filesize($fileup);

if(! in_array($att,$alemtdadat)){
echo " عفوا هذا الامتداد غير مسموح به !!";
}else if($file_size > $maxsize ){
echo " حجم الملف المختار اكبر من الحجم الاقصى ";
}else{

$CopyFile = copy($fileup,"$path");

if($CopyFile){

echo " تم تحميل الملف بنجاح ، رابط الملف : ";
echo "<a href='http://$HTTP_HOST/files/$fileup_name'>http://$HTTP_HOST/files/$fileup_name</a>";

}else{

echo " لم يتم تحميل الملف ";

}
}
}

?>


تحيه طيبه

الله لايسلط
06-20-2006, 01:55 AM
الله لا يهينك يانايل

وبيض الله وجهك






ودرس رائع من مبدع ومطور كبير


لاخلا ولاعــدم

!مٍعكٍـّ صٍَّرٍفًَُّّ 50!
06-20-2006, 08:12 AM
يـعـطـيـك ربـي العـآفـيـه

سريع الاشتعال
06-20-2006, 01:52 PM
درس رائع جدا

جاري التطبيق

ويعطيك العافيه

نجديه
06-21-2006, 05:11 AM
السلام عليكم ورحمة الله وبركاته

استاذي البرمجي نايل :170:

اسمك نايل أجل :158:

درس روعه جدا جدا جدا


أبدعت فيه

واهلا وسهلا برجعتك لنا ويازينها من ساعه اللي رديت عليك فيها

.. [ ماتهاب ] ..
09-22-2006, 09:46 AM
×× مشكور اخوووي على هالدرس الرووووعة ××

×× ماتقصر والله يعطيك العافية ××

صغيرة بس خطيرة

F-15
02-09-2007, 04:20 PM
شكراً للكل على الرد
نجديه ان شاء الله راح نشوف الأقوى ونبي التحدي القديم

وانتظروا جديدي

ملك القلوب
04-02-2007, 05:49 AM
يعطيك العافيه يالغلا وتحياتي

لك على الموضوع والجهد من اخوك / ملك القلوب

~}{نواره}{~
04-06-2007, 02:29 AM
يسلمووو اخووي على الدرس الرائع والله يعطيك العافيه .:)

!Ξعـ•الاطبآ’ع•ـذبةΞ!
09-16-2007, 09:25 AM
يعطيك ربي العافيه وماقصررت