我需要在/web/import
路径中保存文件,我问的是实现这一目标的最佳方法。我在/Service/SyncController.php
中定义了一个类,它从Controller
扩展:
class SyncController extends Controller { ... }
该类也定义为服务:
sync.service:
class: PDI\PDOneBundle\Service\SyncController
arguments: ["@service_container", "@doctrine.orm.entity_manager", "@request_stack", "%kernel.root_dir%"]
我是否需要传递参数"%kernel.root_dir%"
才能访问网络路径为$this->webRoot = realpath($rootDir . '/../web')
,或者我可以从@service_container
执行此操作?获取/web/import
路径以便在其中保存文件的正确方法是什么?
答案 0 :(得分:2)
我们使用此配置来做到这一点。
in parameters.yml
upload_path: "/images/uploads"
upload_dir: "%kernel.root_dir%/../web%upload_path%"
我们从dir分割路径只是为了简化阅读。
在控制器中:
$work_dir = $this->container->getParameter('upload_dir');