Reza Jm
5 سال پیش توسط Reza Jm مطرح شد
4 پاسخ

آپدیت کردن یک پست

سلام دوستان.من یک فرم آپدیت پست دارم که داخل این فرم یک input از نوع file دارم.مشکل اینه که می خوام برای این input یه مقدار پیش فرض قرار بدم(تصویر پست)تا اگه کاربر نخواست تصویر پست آپدیت کنه همون تصویر قبلی باشه و تغییری نکنه


ثبت پرسش جدید
Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
1

پایین input file خودتون یه input قرار بدید با type :hidden
به شکل زیر بر فرض مثال

<input type="file" id="img" class="form-control round"
                                               name="img">
<input type="hidden" value="<?= مقدار گرفته شده از دیتابیس ?>" name="hidden_img" id="hidden_img">

وقتی اینا رو از طریق فرم پست میکنی تو صفحه action ,controller یا هرجا دیگه ای چک میکنی اگر مقداری تو اینپوت فایل وارد کردی که جایگزین بشه اگر وارد نکردی مقدار فچ شده از دیتابیش که داخل ولیو اینپوت هیدن هست ارسال بشه به شکل زیر

$img = $_FILES['img'];
            if ($img['name'] != "") {
            $img = تابع آپلود فایل
            } else {
                $img = $_POST['hidden_img'];
            }

@rezajamalzadeh900


نوید
تخصص : برنامه نویس Go / Django
@navids 5 سال پیش مطرح شد
1

مثلا با php

 $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }

در صورتی که آپلود برابر با 1 بود ، تصویری برای اپلود ارسال شده ، در غیر اینصورت فیلد خالی بوده


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

هنگامی که اطلاعات فرم ارسال میشه، سمت سرور چک کنید
اگر فیلد تصویر خالی بود که سایر اطلاعاتش رو آپدیت میکنید
اگر هم که خالی نبود، عکس رو آپلود میکنید و به علاوه سایر اطلاعاتش آپدیت میکنید


Reza Jm
تخصص : برنامه نویس php
@rezajamalzadeh900 5 سال پیش مطرح شد
0

@ali.bayat
همین کار رو کردم. مشکل اینه وقتی کاربر نخواد تصویر پست آپدیت کنه در نتیجه input file خالی می زاره.درنتیجه سمت سرور برای تصویر null دریافت می شه و در واقع تصویر قبلی از از بین می ره.در واقع سوال اصلی من اینه که چطور برای یک فرم از نوع فایل value پیش فرض تنظیم کنم که اگه چیزی انتخاب نشدهمون مقدار پیشفرض ارسال بشه؟


Davood
تخصص : PHP - Laravel
@dfardabasi 5 سال پیش مطرح شد
1

پایین input file خودتون یه input قرار بدید با type :hidden
به شکل زیر بر فرض مثال

<input type="file" id="img" class="form-control round"
                                               name="img">
<input type="hidden" value="<?= مقدار گرفته شده از دیتابیس ?>" name="hidden_img" id="hidden_img">

وقتی اینا رو از طریق فرم پست میکنی تو صفحه action ,controller یا هرجا دیگه ای چک میکنی اگر مقداری تو اینپوت فایل وارد کردی که جایگزین بشه اگر وارد نکردی مقدار فچ شده از دیتابیش که داخل ولیو اینپوت هیدن هست ارسال بشه به شکل زیر

$img = $_FILES['img'];
            if ($img['name'] != "") {
            $img = تابع آپلود فایل
            } else {
                $img = $_POST['hidden_img'];
            }

@rezajamalzadeh900


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام