-
هل الكود صحيح
لدي كود رفع ملفات وابي التحقيق فقط رفع صيغ الصور
وعملت الكود لكن لا يعمل جيد
كود PHP:
$file_name1 = $HTTP_POST_FILES['ufile']['name'][0];
$file_name2 = $HTTP_POST_FILES['ufile']['name'][1];
$file_name3 = $HTTP_POST_FILES['ufile']['name'][2];
$file_name4 = $HTTP_POST_FILES['ufile']['name'][3];
$amt1 = strrchr($file_name1,'.');
$amt2 = strrchr($file_name2,'.');
$amt3 = strrchr($file_name3,'.');
$amt4 = strrchr($file_name4,'.');
if (!$file_name1) { $image1 = "none"; }
if (!$file_name2) { $image2 = "none"; }
if (!$file_name3) { $image3 = "none"; }
if (!$file_name4) { $image4 = "none"; }
if ($file_name1) {
if ($amt1 != ".jpeg" && $amt1 != ".jpg" && $amt1 != ".gif" && $amt1 != ".png") {
warning("امتداد الصورة رقم 1 غير مسموح<br><a href='javascript:history.go(-1)'>الرجوع للخلف</a>");
}
}
elseif ($file_name2) {
if ($amt2 != ".jpeg" && $amt2 != ".jpg" && $amt2 != ".gif" && $amt2 != ".png") {
warning("امتداد الصورة رقم 2 غير مسموح<br><a href='javascript:history.go(-1)'>الرجوع للخلف</a>");
}
}
elseif ($file_name3) {
if ($amt3 != ".jpeg" && $amt3 != ".jpg" && $amt3 != ".gif" && $amt3 != ".png") {
warning("امتداد الصورة رقم 3 غير مسموح<br><a href='javascript:history.go(-1)'>الرجوع للخلف</a>");
}
}
elseif ($file_name4) {
if ($amt4 != ".jpeg" && $amt4 != ".jpg" && $amt4 != ".gif" && $amt4 != ".png") {
warning("امتداد الصورة رقم 4 غير مسموح<br><a href='javascript:history.go(-1)'>الرجوع للخلف</a>");
}
}
else {
echo "upload and insert DB";
}
ممكن التعديل عليه او كود افضل
شكراً
-
حليتها بطريقة معقد لكن تعمل معي جيد
:)
-
يمكنك استخدام التكرارات (Loops) بدل تكرار نفس الشفرة، ومثال عليها حسب المعطيات:
كود PHP:
foreach($_FILES['ufile']['name'] as $key=>$file)
{
// تحويل اسم الملف للأحرف الصغيرة لدقة أكثر في مقارنة الامتدادات
$filename = strtolower($_FILES['ufile']['name'][$key]);
// جلب امتداد الملف
$extension = strrchr($filename, '.');
// مقارنة الامتداد بالمحتوى في المصفوفة
if(in_array($extension, array('.jpeg.', '.jpg', '.gif', '.png')))
{
// upload the file
}
else
{
echo "امتداد الصورة ".$filename ." غير مسموح <br /><a href='javascript:history.go(-1)'>الرجوع للخلف</a> <br />";
}
}
بالنسبة للنموذج يجب أن تكون اسماء الحقول ufile[]، مثال:
كود HTML:
<form method="post" action="<?=$_SERVER['PHP_SELF']?>" enctype="multipart/form-data">
<input type="file" name="ufile[]" /><br />
<input type="file" name="ufile[]" />
<input type="submit" />
</form>
:)
-
شاكر لك اخوي وشرح مفيد لي ولكل شي محتاج الكود
جزاك الله خير