thinkphp怎么动态赋予config.json的值?

用的是thinkphp框架,现在要引用config.json文件,
config.json文件里面就是普通的json格式
{

"imageActionName": "uploadimage",
"imageUrl": "/BeRetailer/RetailerBrand/uploadImg",
"imageFieldName": "file",
"imageMaxSize": 2048000,
"imageAllowFiles": [
    ".png",
    ".jpg",
    ".jpeg",
    ".gif",
    ".bmp"
]

}
现在imageUrl的值怎么才能动态的从controller中传,我这样写,他不能转译
"imageUrl": "{$imageUrl}"
怎么才是正确的格式?

阅读 2.8k
4 个回答

$json = require('config.json');

$arr = json_decode($json,true);

把json转为数组

json_decode

如果是配置文件,按照常理来说配置文件相当于常量,一般不会动态修改,如果要动态修改,那么这些数据就不适合做配置文件。

如果你必须修改,你大可使用 config.php,为啥要用config.json,json适合node。

动态修改文件需要php文件操作函数,看下fopen()fwrite()函数

两个建议

  1. 把这段json 直接写在模板文件里。这样距能解析这个变量了

  2. 把imageurl 写成数组形式

"imageActionName": "uploadimage",
"imageUrl": [
"/BeRetailer/RetailerBrand/uploadImg",
"/BeRetailer/RetailerBrand/uploadImg2",
"/BeRetailer/RetailerBrand/uploadImg3"],
"imageFieldName": "file",
"imageMaxSize": 2048000,
"imageAllowFiles": [

".png",
".jpg",
".jpeg",
".gif",
".bmp"

]
//这样在使用这段json的时候 从控制器里直接传url的k就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题