PDA

View Full Version : سوال: گذاشتن دانلود عکس در سایت



fa.m2541367
پنج شنبه 21 شهریور 1392, 15:06 عصر
سلام میخواستم عکس با فرمت png واسا دانلود تو سایتم بزارم چکار کنم وقتی کاربر روش کلیک میکنه عکسو باز نکنه بلکه پیام برای save کردن بده؟؟؟؟؟
خیلی برام مهمه لطفا کمکم کنید

saeed-71
پنج شنبه 21 شهریور 1392, 16:30 عصر
خوب ادرسشو بده
www.yoursite.com/image.png

hamedarian2009
پنج شنبه 21 شهریور 1392, 17:27 عصر
عکسو بزار تو تگ لینک و تو href لینک مسیر ذخیره عکسو بزار

ابوذر محمودی
پنج شنبه 21 شهریور 1392, 17:39 عصر
یه فایل php بساز که اسم فایلو بگیره ، بعد تو اون فایل عکستو با هدر واسه کاربر بفرست ، اینجوری عکس به جای نمایش تو مرورگر ، دانلود میشه.

اینارو تو یک فایل به اسم download.php بذار


<?php
$img = $_GET['img'];
header('Content-Description: File Transfer');
header('Content-Type: application/jpeg');
header("Content-disposition: attachment; filename= ".$img."");
readfile($img);
?>

موقعی هم که میخوای لینک دانلود عکسو بذاری اینطوری عمل کن :


<a href="download.php?img=test.png">down</a>
هشدار جدی :

1-حتما حتماً چک کن ببین اگه پسوند png. هست اونوقت فایلو برای کاربر بفرست ، چون ممکنه به جای عکس کاربر اسم صفحات ساییتو بده و سایتت هک شه :لبخند:

2-و اگه پسوندش مجاز بود اونوقت باید مد نظرت باشه که چک کنی ببینی فایل وجود داره یا نه و موارد دیگه ای هم اگه بود مثل اینکه کاربر لاگین کرده باشه و ... میتونی اضافه کنی.

نکته :
این موضوع که وقتی کاربر رو لینک کلیک میکنه عکسو باز نکنه بلکه پیام برای save کردن بده بستگی به مرورگر داره ، چون مثلا کروم پیش فرض تو پوشه دانلود میریزه و سوال نمیپرسه اما خب مثلا IE میپرسه کجا سیو شه.

ابوذر محمودی
پنج شنبه 21 شهریور 1392, 18:08 عصر
البته با .htaccess هم میشه که این خیلی ساده تره ، و دنگ و فنگای اونو نداره ، پیشنهاد میکنم اگه واسه کاربر محدودیت نذاشتین و تعداد دفعات دانلود و اینا مهم نیست واستون و هرکی میتونه تصاویرتونو دانلود کنه ازین استفاده کنین .
یه فایل به اسم htaccess. بسازین اینارو توش قرار بدین.


<FilesMatch "\.(?i:png)$">
Header set Content-Disposition attachment
</FilesMatch>