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

- 1 هفته پیش
توسط Reza Jm آپدیت شد
Reza Jm ( 6615 تجربه )
2 هفته پیش

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

بهترین پاسخ انتخاب شده توسط Reza Jm
KING_PHP
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

نوید ( 9409 تجربه )
2 هفته پیش
تخصص : برنامه نویس PHP / LARAVEL

مثلا با php

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

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

علی بیات ( 145927 تجربه )
2 هفته پیش
تخصص : توسعه دهنده ارشد وب

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

Reza Jm ( 6615 تجربه )
1 هفته پیش

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

KING_PHP ( 8300 تجربه )
1 هفته پیش
تخصص : برنامه نویس PHP

پایین 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

برای ارسال پاسخ باید وارد سایت شوید