请问后台上传后的图片,大家都是怎么保存的。 [ 2.0 版本 ]
大家好,我使用yii2高级模板制作上传的时候遇到些问题,
请问大家在backend应用中上传文件都是怎么存储的。我实际情况这样。
后台上传时,我希望将图片保存到前台的目录下 “frontend\web\upload\xxxx....”
但是后台上传些保存路径的时候 无法获取到前台的存储路劲。
我尝试了。@web,@webroot,等等 都只能获取到 backend...... 请问大家都是怎么处理的?
难道访客前端浏览网页的时候 也是在调用后台的某个url?
呃.... 不好意思我没有描述清楚。
假设我站点根目录在 D:\web\ 下。有yii2框架 并且有目录 backend,frontend
对应域名 admin.yii.com , www.yii.com
在后台上传的时候 别名类的配置都是指向backend\目录下的某个路径。比如某图片上传后实际路径d:\web\backend\web\upload\image.jpg
然后 这些图片 在前台进行浏览的时候 frontend \目录下并没有这些内容。这个时候我如果想显示他 那就需要 http://admin.yii.com/upload\image.jpg
所以我现在想要 后台上传的路劲能否设置为前台的 frontend\web\upload.
最佳答案
-
如果你想把图片上传的路劲设置为前台的 frontend\web\upload,方法有很多。
最简单的一种:$model->file->saveAs('../frontend/web/upload/'.$file_name);
../的意思是上一级目录,是相对于index.php的路径说的。
如果设置常量的话,@app应该是相对于当期模块的根路径,那就不用它。
在config目录下新建一个constant.php,写入这样一句话:define('APP_BASE_PATH','../');
然后在index.php调用:
require(__DIR__ . '/../config/constant.php');
然后在图片保存的时候写:
$model->file->saveAs(APP_BASE_PATH.'frontend/web/upload/'.$file_name);
就可以了,而且APP_BASE_PATH这个常量在其他地方也可以使用。总之方法很多,../这个符号可以让你访问到各个目录。
共 1 条回复
其他 2 个回答
-
@app/image
共 3 条回复呃.... 不好意思我没有描述清楚。
假设我站点根目录在 D:\web\ 下。有yii2框架 并且有目录backend,frontend
对应域名admin.yii.com , www.yii.com
在后台上传的时候 别名类的配置都是指向backend\目录下的某个路径。比如某图片上传后实际路径d:\web\backend\web\upload\image.jpg
然后 这些图片 在前台进行浏览的时候 frontend \目录下并没有这些内容。这个时候我如果想显示他 那就需要http://admin.yii.com/upload\image.jpg
所以我现在想要 后台上传的路劲能否设置为前台的
frontend\web\upload
.
xjdata
最后登录:2024-05-05
在线时长:112小时38分
- 粉丝23
- 金钱14169
- 威望75
- 积分16039