2016-09-05 23:54:50 3728次浏览 5条回答 0 悬赏 100 金钱

在做一个前后台时,遇到一个小问题,在后台(后台域名:http://admin.demo.com)上传图片后,图片上传在backend/web/upload/ 目录下,但是我在前台怎么取这个被上传在backend/web/upload/目录的图片呢?或者说在前台怎么获取(http://admin.demo.com 这个域名)。
在使用 \yii\helpers\Url::to("@web/upload")不行,不知怎么解决....

补充于 2016-09-09 17:53

感谢 @顺丰@小皮 回答,打算统一管理图片资源了...

  • 回答于 2016-09-06 09:02 举报

    首先,如果后台上传图片 给前台用,那么你的图片存储的路径就应该是放在前台,用'@frontend/web/uploads'就好了。
    其次,如果已经在后台,那么可以用读取图片展示的方式,读取路径为'@backend/web/uploads',

    header('content-type:image/jpg;');
    $content=file_get_contents('test.jpg');
    echo $content;
    
  • 回答于 2016-09-06 09:41 举报

    最好做一个对图片资源统一管理的规范,每个app可以公用,比如系统的某一个专门存放图片的路径,数据库只要保存这个(相对的)路径即可

  • 回答于 2016-09-06 09:47 举报

    放在一个公共的地方把,这样前后台都可以调用

  • 回答于 2016-09-07 17:20 举报

    首先呢,比较建议统一管理,如果已经没有统一的话注意看common\config\bootstrap这个别名,具体的绝对路径可以根据Yii::getAlias('@backend')来取。不晓得能否满足你的要求。

  • 回答于 2016-09-09 16:37 举报

    用这个全局数组 $_SERVER 中对应的$_SERVER['SERVER_NAME'],就是你需要的网址;希望能帮到你,也是刚刚学习哈!

    实例:

    var_dump($_SERVER['SERVER_NAME']);   // /home/www/yii/views/site/index.php:9:string 'yii.v.com' (length=9)
    

    可以拿到访问的域名,故 命名一个常量: G_PIC_URL = $_SERVER['SERVER_NAME']; 目录名:G_PIC_URL .'backend/web/upload/';

    觉得很赞
您需要登录后才可以回答。登录 | 立即注册
离空气
CEO

离空气 江苏南京

注册时间:2014-11-03
最后登录:2024-11-19
在线时长:90小时46分
  • 粉丝8
  • 金钱12060
  • 威望20
  • 积分13160

热门问题