آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل آپلودر در php-حل شد

MasterSPYware  9 سال پیش  9 سال پیش
0 0

سلام.من یک آپلودر دراگ اند دراپ دانلود کردم و برای سایت خودم اختصاصی کردم.

آدرس تصاویر رو بعد از آپلود بصورت یک value در داخل یک imput بهم میده.

و من هم در قالب یک متد پست میفرستمش برای آپلود روی دیتابیس

مشکلات من ایناست:

هربار که بهم تصویر میده با name یکسان میده و هنگام آپلود داخل دیتابیس فقط یکیشون آدرسش ثبت میشه.

نام هاشونو اگه متغیر کنم:
مثلا:img1 img2 img3 و...
بعد موقع دستور آپلود داخل دیتابیس باید 50تا ورودی تعریف کنم که خیلی زیاده!!!

راه بهتری هم هست که نام ایمپوت ها یکسان باشه اما همشون داخل دیتابیس ذخیره شن؟

 برای این سوال 4 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
Mehrad  9 سال پیش
0 0

اگر اشتباه منظور شما رو متوجه نشده باشم میخواهید چند اینپوت از نوع file داشته باشید با نام یکسان .
برای این منظور به این شکل میتونید عمل کنید

 <input type="file" name="images[]" >

در این صورت هرچندتا اینپوت از نوع فایل با name = images داشته باشید ، همگی در یک آرایه با نام images ارسال شده و با یک foreach میتونید اسم تک تک عکس هارو واکشی کرده و در دیتابیس ذخیره کنید.

0 0
یه مثال میزنی برام؟ (9 سال پیش)
پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

یه مثال میزنی برام؟
یه مثال واضح-من کارآموزم

پاسخ به سوال 
Mehrad  9 سال پیش
0 0

من هنوز مطمئن نیستم که منظور سوال شما رو درست متوجه شده باشم یا نه. اما بر اساس چیزی که متوجه شدم ؛ فرض کنید 10 اینپوت عکس دارید :

 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >
 <input type="file" name="images[]" >

اگر مقدار name را فرضا images بنویسید ، در هنگام پست شدن فرم ، فقط مقدار اینپوت اول ارسال می شود. اما وقتی با [] مینویسید تمام اینپوتهایی که name آنها images باشد به شکل یک آرایه ارسال می شوند.
سمت PHP به این شکل میتونید مقادیر رو دریافت کنید :

foreach($_FILES['images']['tmp_name'] as $key => $tmpName ){
    $fileName = $_FILES['files']['name'][$key];
    $fileSize = $_FILES['files']['size'][$key];
    $fileTmp  = $_FILES['files']['tmp_name'][$key];
    $fileType = $_FILES['files']['type'][$key];
// write a query that inserts image name into database
}
پاسخ به سوال 
MasterSPYware  9 سال پیش
0 0

 پاسخ صحیح

پاسخ:

 <input type="file" name="img[]" >
  $pic = $_POST['img'];
foreach($pic as $item)


$sql="insert into img (img) values ('{$item}') ";
$stmt=$db->prepare($sql);

$stmt->execute();
+1 0
لطفا از دکمه پاسخ صحیح استفاده کنید تا هم کیفیت انجمن بالا برود ، و هم بقیه دوستان پاسخ صحیح هر سوال را راحتتر بیابند. (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .