PDA

View Full Version : سوال: دکمه ی Browse



lost_control
شنبه 07 مرداد 1391, 00:28 صبح
سلام بر همگی.
خسته نباشید.
مشغول طراحی یک سایت هستم که در آن مدیر سایت می تواند تصویر یک خبر را به همراه عنوان و شرح آن وارد کند و در دیتابیس نوشته شود. من می خواهم به جای اینکه مدیر سایت آدرس نسبی یا مطلق یک تصویر را در فیلد مربوطه وارد کند دکمه ی Browse قرار بدهم و با انتخاب عکس مربوطه آدرس تصویر در فیلد مورد نظر در دیتابیس نوشته شود. چطور این کار را انجام بدهم؟ لطفا کمک فوری خود را دریغ نکنید.

khanlo.javid
شنبه 07 مرداد 1391, 10:06 صبح
شما باید تو فرمی که برای ثبت خبر دارید یه قسمت هم برای آپلود عکس در نظر بگیرید و وقتی که فرم ثبت میشه عکس آپلود شه و آدرس عکس + عنوان و شرح خبر تو دیتابیس شما ذخیره بشه و تو موقع فراخوانی از دیتابیس برای عکس فیلد آدرس عکس رو بخونید.





موفق باشید.

lost_control
شنبه 07 مرداد 1391, 20:57 عصر
شما باید تو فرمی که برای ثبت خبر دارید یه قسمت هم برای آپلود عکس در نظر بگیرید و وقتی که فرم ثبت میشه عکس آپلود شه و آدرس عکس + عنوان و شرح خبر تو دیتابیس شما ذخیره بشه و تو موقع فراخوانی از دیتابیس برای عکس فیلد آدرس عکس رو بخونید.




موفق باشید.


آقا دمت گرم. ملتفت شدم. اما چطوری باید امکان آپلود عکس بذارم؟؟ می شه بیشتر راهنمایی کنی؟

khanlo.javid
یک شنبه 08 مرداد 1391, 16:23 عصر
آقا دمت گرم. ملتفت شدم. اما چطوری باید امکان آپلود عکس بذارم؟؟ می شه بیشتر راهنمایی کنی؟


منظورتون اینه که براتون کد آپلود عکس بزارم ؟؟ راهنمایی بیشتر تو کدوم قسمتو میخوای؟؟

lost_control
یک شنبه 08 مرداد 1391, 18:13 عصر
منظورتون اینه که براتون کد آپلود عکس بزارم ؟؟ راهنمایی بیشتر تو کدوم قسمتو میخوای؟؟

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

khanlo.javid
یک شنبه 08 مرداد 1391, 18:40 عصر
اگه براتون امکان پذیره راجع به آپلود عکس برام توضیح بدین یا یه آموزش راجع به این موضوع رو معرفی کنین که بخونمش... بازم ممنونم

اول اینکه باید یه فرم به صورت زیر داشته باشی با یه فایل فیلد :



<form action="" method="post" enctype="multipart/form-data" name="up1">
<input name="upload" type="file" />
</form>



بعد هم کد php برای آپلود عکس



if (@is_uploaded_file($_FILES["upload"]["tmp_name"])) {
copy($_FILES["upload"]["tmp_name"], "$/images/" . $_FILES["upload"]["name"]);
echo "<p>File uploaded successfully.</p>";
}



این یه نمونه خیلی سادشه اگه حرفه ای تر بخوای باید سرچ کنی ، آموزش ها و نمونه کد هاش تو نت زیاده .


موفق باشید.

lost_control
یک شنبه 08 مرداد 1391, 21:37 عصر
اول اینکه باید یه فرم به صورت زیر داشته باشی با یه فایل فیلد :



<form action="" method="post" enctype="multipart/form-data" name="up1">
<input name="upload" type="file" />
</form>



بعد هم کد php برای آپلود عکس



if (@is_uploaded_file($_FILES["upload"]["tmp_name"])) {
copy($_FILES["upload"]["tmp_name"], "$/images/" . $_FILES["upload"]["name"]);
echo "<p>File uploaded successfully.</p>";
}



این یه نمونه خیلی سادشه اگه حرفه ای تر بخوای باید سرچ کنی ، آموزش ها و نمونه کد هاش تو نت زیاده .


موفق باشید.

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

MMSHFE
دوشنبه 09 مرداد 1391, 21:13 عصر
دوست عزیز، ابتدا باید یک فرم HTML برای آپلود بسازین مشابه کد زیر:


<form action="result.php" enctype="multipart/form-data" method="post">
<input name="MAX_FILE_SIZE" type="hidden" value="1048576"/>
<input name="image" type="file"/>
<input type="submit" value="Uplaod"/>
</form>

توضیح: تگ input از نوع hidden با نام MAX_FILE_SIZE حداکثر اندازه آپلود رو برحسب بایت مشخص میکنه که در اینجا 1 مگابایت درنظر گرفته شده.
توی صفحه مقصد فرم (در این مثال، result.php) هم میتونید با کدی شبیه کد زیر، فایل آپلود شده رو در مکان موردنظر ذخیره کنید:


<?php
if(isset($_FILES['image'])) {
$image = &$_FILES['image'];
if($image['error'] == 0 && $image['size'] <= 1048576) {
@move_uploaded_file($image['tmp_name'], 'images/'.$image['name']);
}
}
?>

توضیح: اول چک میکنیم ببینیم فایل آپلود شده یا نه. بعد اگه خطایی توی آپلود تولید نشده بود و سایز هم کمتر از 1 مگابایت بود، با کمک تابع move_uploaded_file فایل آپلود شده رو در پوشه images و با نام اصلی خودش قرار میدیم. دقت کنید که چک کردن مجدد اندازه در صفحه مقصد ضروری هست چون به راحتی میشه با کدهای جاوا اسکریپت و ابزارهای مثل FireBug و... توی فرم اصلی تگ input مخفی که با نام MAX_FILE_SIZE گذاشته بودیم رو تغییر مقدار بدیم و فایلهای با حجم بیشتر رو آپلود کنیم. بنابراین نباید خیالمون از بابت اندازه فایل راحت باشه و در صفحه مقصد، چک کردن مجدد لازمه. نکته دیگه اینکه اگه با کمک توابعی مثل copy یا move_uploaded_file فایل آپلود شده رو به مکان موردنظر منتقل نکنیم، بعد از پایان اسکریپت، فایل آپلود شده حذف میشه. موفق باشید.