درس برمجة سكربت مركز التحميل  أضيف في: 28-9-1429هـ
حبيت اني احط هذا الدرس هنا لكي تتم المعرفة بالكامل وسوف نبداء الان في الدرس
سنتعلم كيف ننشيء ملف ويتم عن طريقة تحميل الملفات من الجهاز

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

PHP CODE:
0001
0002
0003
0004
0005

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

?>

احفظ الكود السابق في صفحة html باي اس:eh_s(6):

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

PHP CODE:
0001
0002

enctype='multipart/form-data'

?>

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

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

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

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

PHP CODE:
0001
0002
0003

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

وغالبا اكثر المواقع يكون المسار لها هو

CODE:
0001
/home/User/public_html/files

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

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

PHP CODE:
0001
0002
0003

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

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

PHP CODE:
0001
0002

$path .= "/$fileup_name";

?>

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

PHP CODE:
0001
0002

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

?>

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

PHP CODE:
0001
0002

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

?>

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

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

PHP CODE:
0001
0002
0003
0004
0005

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

?>

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

PHP CODE:
0001
0002
0003

<?php $maxsize = "81920";
// تعادل 80 كيلوبايت

?>

مع امكانية وضع المساحة المارد عملها وهذا يرجع لكم
الان نطلع حجم الملف المختار عن طريق دالة filesize();

PHP CODE:
0001
0002

<?php $file_size = filesize($fileup);

?>

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

وبالتالي حدث تغير على الكود السابق

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008

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

// بقية الملف

?>

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

PHP CODE:
0001
0002

<?php $CopyFile = copy($fileup,"$path");

?>

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

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011

<?php if($CopyFile){

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

}else{

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

}

?>

نقفل الوسومد

PHP CODE:
0001
0002
0003
0004

<?php }
}
}

?>

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

PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035

<?
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 " لم يتم تحميل الملف ";

}
}
}

?> 

وهذا هوا الدرس بالكامل

الكاتب: وضاح مراد