PDA

View Full Version : استفاده از فایل ذخیره شده در backend در frontend



aynaz96
چهارشنبه 28 تیر 1396, 10:35 صبح
سلام من یک تصویر از کاربر در backend میگیرم و در بعضی قسمت های backend ازش استفاده میکنم. همچنین از اون توی frontend هم میخام استفاده کنم. من تصویر در backend ذخیره میکنم. ولی نمیتونم چون در اونجا ذخیره شده در frontend ازش استفاده کنم. همچنین امتحان کردم اگر تصویر در frontend هم ذخیره کنم در backend میتونم ازش استفاده کنم. کلا انگار backend و frontend من به هم دیگه دسترسی ندارن. میخواستم یه راه حل برای استفاده از اون تصاویر بهم بدین.ممنون
ازین کد برای نمایش عکس توی backend استفاده میکنم و درست کار میکنه


view.php in backend


if ($model->image_web_filename!='') { echo '<br /><p><img src="'.Yii::$app->homeUrl .'uploads/'.$model->image_web_filename.'"></p>'; }


ازین کد برای ذخیره عکس توی backend استفاده میکنم.

controller in backend


Yii::$app->params['uploadPath'] = Yii::$app->basePath .'/web/uploads/'; $path = Yii::$app->params['uploadPath'] . $model->image_web_filename; $image->saveAs($path);Yii::$app->params['uploadPath'] = Yii::$app->basePath .'/web/uploads/'; $path = Yii::$app->params['uploadPath'] . $model->image_web_filename; $image->saveAs($path);


ازین کد برای نمایش عکس در frontend استفاده میکنم و کار نمیکنه

<?= \yii\helpers\Html::img( Yii::getAlias('@backend'). '/web/uploads/'.$model->image_web_filename) ?>

همچنین اینم بگم frontend و backend من با دو url از هم جدا میشن:
yii.com
yii.com:81

tameshkz23
جمعه 30 تیر 1396, 17:51 عصر
سلام.
در stackoverflow هم پیام دادم. دوستان این کد رو پیشنهاد دادن


Yii::setAlias('@frontend', 'http://frontend.sample.dev');
Yii::setAlias('@backend', 'http://backend.sample.dev');
در یکی از پروژه ها با این مشکل مواجه شدم ک کد های بالا کار نمیکرد
استفاده از


namespace common\components;

use Yii;

class Helper extends \yii\web\Request {

public static function getFrontendUrl($path) {
$frontUrl = str_replace('/adminpanel', '', $path);
return $frontUrl;
}

}
پیشنهاد دادم که گفتین اجرا نمیشه.
فکر میکنم از مسیر دهی تون باشه مشکل
در صورتی که تمایل داشتین remote بگین که ریموت بزنیم(teamviewer) تا مشکل رو برطرف کنیم.
موفق باشین

charcharkh
شنبه 31 تیر 1396, 16:43 عصر
اینو بزن


Url::to('@frontend/web/images/cars/')

البته بایست بعد از web مسیر مورد نظر خودتو