• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جلوگیری از ذخیره شدن تصاویر آپلود شده
#1
سلام.
من یک پروژه ای انجام دادم که مشتری میخواد تصاویری که توی سایت آپلود میکنه ذخیره نشن توسط دیگران. به ذهنم رسید که اگر تصاویر خارج از Public_html آپلود بشن برای این موضوع بهتره. حالا برای خوندنش باید چیکار کنم؟ پروژه توی Yii انجام شده. باید یک کامپوننت یا اکشن بنویسم و URL تصویر رو پاس بدم به اون که اون عکس رو نشون بده؟ پیشنهادی دارین؟ اصلا این کار درسته؟Blush
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط :
#2
.سلام
اگه عکسا رو خارج public_html آپلود کنی. باید یه اکشن شبیه این بنویسی :
کد پی‌اچ‌پی:
namespace app\controllers;
use 
Yii;
use 
yii\web\Controller;
use 
yii\helpers\FileHelper;
use 
yii\web\Response;
class 
SiteController extends Controller{
    public function 
actionImg($name){
        if(
$name === '' ){
            return ;
        }
        
$img='upload-folder-path/'.$name;
        if(
file_exists($img) && is_file($img)){
            
Yii::$app->getResponse()->getHeaders()
            ->
set('Pragma''public')
            ->
set('Expires''0')
            ->
set('Cache-Control''must-revalidate, post-check=0, pre-check=0')
            ->
set('Content-Transfer-Encoding''binary')
            ->
set('Content-type'FileHelper::getMimeType($img));
            
Yii::$app->getResponse()->format=Response::FORMAT_RAW;
            return 
$this->renderFile($img);
        }
    }

و
کد پی‌اچ‌پی:
<img src='site/img?name=img1.png'
  پاسخ
تشکر شده توسط :
#3
دوست گرامی من با Yii 1.1 کار میکنم. حقیقتش نتونستم اکشن مناسبش برای Yii1 رو بنویسم. اگر دوستان راهنمایی کنن ممنون میشم.
خیلی کارم گیر این بخشهBig Grin
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان