上传图像文件外的webroot和访问他们通过Html助手



我有我的应用程序在/var/www/html/Myapp/所以webroot将是/var/www/html/Myapp/app/webroot/. .但是我想在/var/www/html/uploads/目录上上传文件,并通过html helper获取图像$this->Html->image() from上传目录而不是默认的/img目录。所以基本上我不想使用cakephp的webroot。如果想上传和获取webroot目录外的文件。

如果您使用的是cakephp。我不认为这是可能的,因为HtmlHelper的图像方法使用函数assetUrl,这反过来只从资产目录中获取资源。您可以编写或使用插件来处理上传文件并将其放在其他目录中,但它必须仍然在您的web浏览器中。还可以使用最外层的index.php

中的ROOT定义的相对路径。

关于HtmlHelper源代码的更多信息在这里

上传的文件需要在web可访问的目录中,以便在浏览器中可见。如果你不想把你的文件存储在Cake的webroot中,你可以使用一个符号链接,这样包含上传文件的目录就可以被访问了。

在你的服务器上创建一个符号链接到你的上传目录:-

ln -s /var/www/html/uploads/ /var/www/html/Myapp/app/webroot/uploads

然后您可以访问您上传的图像,如:-

echo $this->Html->image('../uploads/example.gif');

相关内容

最新更新