رفع عدة ملفات او صور بواسطة لغة PHP بنفس الوقت
درس اليوم عن كيفية رفع عدة ملفات او صور بنفس الوقت من خلال لغة PHP ،
بالنسبة لتحديد عدة ملفات يجب تضمين الخاصية multiple في عنصر الادخال بلغة HTML وايضا جعل قيمة الخاصية name تساوي اسم عنصر الادخال على شكل مصفوفة كــ Filename[]
كما هو موضح في التالي
الى هنا انتهى الدرس والى درس جديد بإذن الله.
<input type="file" name="image[]" multiple />
وبالنسبة للغة php نستخدم مصفوفة ثلاثية الابعاد بدلا من ثنائية بحيث البعد الثالث يحدد رقم الملف (index)
واستخدمنا دوارة while loop للمرور على الملفات الموجودة بواسطة ال index $i ورفعها واحد تلو الاخر ولتطبيق ذلك
اولا انشئ ملف باسم upload.php وضع الكود الاسفل داخله واحفظه في السيرفر المحلي وشغل الملف على المتصفح
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
upload image example
</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data" >
<input type="file" name="image[]" multiple />
<input type="submit" value="upload Images" name="upload"/>
</form>
</body>
</html>
<?php
error_reporting(0);
$up= "upload/";
$i=0;
$t=array('image/jpeg' , 'image/png' , 'image/gif');
if($_POST['upload']=='upload Images')
{
while($_FILES['image']['name'][$i] != null)
{
$fname = $_FILES['image']['name'][$i];
$fsize = $_FILES['image']['size'][$i];
$ftype = $_FILES['image']['type'][$i];
$ftemp = $_FILES['image']['tmp_name'][$i];
if($fname == '')
{
echo 'please enter a file';
}
elseif($fsize > 500000)
{
echo 'the file size is bigger than 5mb';
}
elseif(!in_array($ftype,$t))
{
echo 'the type of file is not allowed';
}
else
{
if(!file_exists('upload'))
{
mkdir('upload','777');
}
move_uploaded_file($ftemp, $up.$fname );
echo 'the image: '.$fname.' is uploaded <br>';
}
$i++;
}
}
?>
اقرأ ايضا:
برمجة واستخدام الكابتشا Captcha في مواقع الويب
كيفية التعامل مع ملفات الاكسل بلغة PHP
كيقية حذف الامتداد php بواسطة ملف htaccess
الى هنا انتهى الدرس والى درس جديد بإذن الله.
0 اترك تعليقاً...