PDA

View Full Version : نمایش تصویر در فرم بدون ذخیره در دیتابیس



hassan68
پنج شنبه 10 فروردین 1391, 21:18 عصر
با سلام خدمت همه همه دوستان
خوب
دوستان من یک فرم ثبت اطلاعات درست کردم که توش اطلاعات شخص گرفته میشه + عکس شخص
حالا
من میخوام برای عکس طرف یک choose file داشته باشم که jquery باشه و طرف بدون ثبت کلی عکسش رو آپلود کنه (بدون اینکه عکس در دیتابیس بره چون میخوام وقتی ثبت کلی زد بره همش تو دیتابیس این وسط اگر عکس آپلود شد مشکلی نداره ولی اسم فایل میخوام که بعدن با ثبت کلی اونو ببرم تو دیتابیس)و یک نمای کلی از عکسش براش نشون بده
و اگر دید عکس خوب میشه تو سایت بعدش ثبت کلی بشه
حالا چجوری میتونم این عکس رو از طرف بگیرم و بهش نشون بدم بعدش submit کلی که زد با طلاعات دیگه بره تو دیتابیس یعنی یه چیزی میخوام که اسم عکسه رو تو خودش نگه داره
دوستان اگر نظر خاص و بهتری دارید بگید این نظر من بود که به ذهنم رسید ولی از نظر کلا خیلی استقبال میشه:لبخندساده:
پیشاپیش تشکر

MMSHFE
پنج شنبه 10 فروردین 1391, 22:46 عصر
خوب شما عکس رو با move_uploaded_file به یک پوشه موقت انتقال بدین و توی Session مسیر موقت رو بگذارین و هرجا لازم بود از همونجا نشون بدین و وقتی ثبت نهایی انجام شد، با تابع copy به پوشه اصلی تصاویر منتقل کرده و با unlink از پوشه موقت حذف کنید (البته میشه copy و unlink رو یکجا با تابع rename انجام داد) و نهایتاً مسیر اصلی رو توی دیتابیس ذخیره کنید.

hassan68
جمعه 11 فروردین 1391, 00:01 صبح
میشه کد بزارید بیشتر متوجه بشم

MMSHFE
جمعه 11 فروردین 1391, 08:57 صبح
ببینید دوست عزیز، وقتی فرد عکسش رو آپلود میکنه، کافیه یک پوشه temp_pic داشته باشین و با دستور زیر، عکس فرد رو به اون پوشه منتقل کنید و توی سشن فرد، اسم فایل عکسش رو بگذارین:


session_start();
if(move_uploaded_file($_FILES['photo']['tmp_name'], 'temp_pic/'.$_FILES['photo']['name']')) {
$_SESSION['photo'] = $_FILES['photo']['name'];
}

حالا هرموقع کاربر ثبت نهایی زد، با این کد عکس رو به محل اصلی تصاویر منتقل کنید:


session_start();
rename('temp_pic/'.$_SESSION['photo'], 'images/'.$_SESSION['photo']);

حالا تنها کاری که باقی مونده، ذخیره کردن محتوای ['SESSION['photo_$ توی دیتابیس و در فیلد عکس کاربر مربوطه هست که اون هم کار راحتیه. موقع نمایش عکس هم تا وقتی که عکس بطور موقت ذخیره شده با کد زیر:


session_start();
echo '<img src="temp_pic/'.$_SESSION['photo'].'"/>';

و بعد از ثبت نهایی، با کد زیر:


session_start();
echo '<img src="images/'.$_SESSION['photo'].'"/>';

میتونید عکس رو نشون بدین. موفق باشید.