响应式文件管理器上传高于公共

Posted

技术标签:

【中文标题】响应式文件管理器上传高于公共【英文标题】:responsive filemanager upload above public 【发布时间】:2018-07-10 07:51:10 【问题描述】:

我正在尝试在用户必须登录才能访问文件库的安全环境中实现响应式文件管理器。 为了确保用户只能在登录会话处于活动状态时访问上传的文件,我将文件管理器上传文件夹放在 public_html 上方。

$config = array(
/*
|-------------------------------------------------------------------
| DON'T TOUCH (base url (only domain) of site).
|-------------------------------------------------------------------
| without final / (DON'T TOUCH)
*/
'base_url' => ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && ! in_array(strtolower($_SERVER['HTTPS']), array( 'off', 'no' ))) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'],

/*
|-------------------------------------------------------------------
| path from base_url to base of upload folder
|-------------------------------------------------------------------
| with start and final /
*/
'upload_dir' => '/../Uploads/content/',

/*
|--------------------------------------------------------------------
| relative path from filemanager folder to upload folder
|--------------------------------------------------------------------
| with final /
*/
'current_path' => '../../../../Uploads/content/',

/*
|--------------------------------------------------------------------
| relative path from filemanager folder to thumbs folder
|--------------------------------------------------------------------
|
| with final /
| DO NOT put inside upload folder
*/
'thumbs_base_path' => '../../../../Uploads/thumbs/',

使用上述配置时,我不断收到以下错误:

有一个错误!上传文件夹没有。检查您的 config.php 文件。

应用结构如下:

-来自公众的升级

--httpdocs (public_html)

---我的应用程序

----管理员

-----库

-------文件管理器目录

请记住,uplevel 包含一个“uploads”目录,即上传文件夹。

是否甚至可以将上传文件夹放在 public_html 之上? 我尝试了不同的路径,也将服务器路径设置为 base_path 但仍然没有结果。

如果你能帮我解决这个问题,那就太好了。

谢谢

【问题讨论】:

您是否已经转储了您尝试移动上传文件的文件夹的绝对(或相对)路径?你能从这里过去吗? 您好,Armen,感谢您的回复。遵循图像的绝对服务器路径:/var/www/vhosts/myapplication/Uploads/content/news/Efteling2.png 好的,这样路径肯定存在并且可写是吗?以及您将通过哪个命令在那里编写。如果你能用上传者 php 部分的代码和平更新你的问题会很好 回答您的问题:是的,可以将上传文件夹设置为高于您实际运行的脚本。但是您还没有显示触发错误消息的代码,因此这里可能是猜测显示。 【参考方案1】:

Filemanager directoryUplevel 是 5 级。

'upload_dir' => '../../../../../Uploads/content/',
'current_path' => '../../../../../Uploads/content/',
'thumbs_base_path' => '../../../../../Uploads/thumbs/',

确保contentthumbs 文件夹在Uploads 中创建并具有写入权限。

现在,当您转储图像的路径时,Uploads 文件夹不在public_html 之外,而是在myapplication 内部。那么路径应该是

'upload_dir' => '../../../Uploads/content/',
'current_path' => '../../../Uploads/content/',
'thumbs_base_path' => '../../../Uploads/thumbs/',

【讨论】:

太好了,到底是什么问题? 我已将 base_url 路径重置为绝对服务器路径。现在一切似乎都在正常工作。

以上是关于响应式文件管理器上传高于公共的主要内容,如果未能解决你的问题,请参考以下文章

响应式文件管理器上传问题

使用响应式文件管理器上传任何文件时出错

响应式文件管理器上传 JPG 错误继续处理 [关闭]

响应式文件管理器上传内存限制,但仅限于图像

Play 2.x:使用 Iteratees 进行响应式文件上传

响应式文件管理器内存限制错误