我使用filemanager,我认为这对我的项目来说非常完美。唯一的问题是我应该通过PHP脚本限制它的rooth路径。我有一个像这样的目录结构:
1 (directory)
2 (directory)
3 (directory)
....
filemanager.php
我希望通过脚本我能够将根目录限制为只有一个数字目录,而不会看到所有其他目录。我不想在每个目录中复制filemanager并在其中手动编辑rooth_path变量,所以我决定制作一个这样的外部embed.php文件:
<?php
$root_path='Z:/www/archives/'.$_GET['dir'].'/';
define('FM_EMBED', true);
require 'filemanager.php';
?>
然后从这样的iframe中调用embed文件:
<iframe src="embed.php?dir=<?php echo $id;?>"></iframe>
问题在于,由于filemanager重写了请求的GET
参数,因此即使在第一步之前,dir
参数也会丢失。我可以用什么其他解决方案来实现我的目标,而无需重写文件管理器代码本身?
答案 0 :(得分:0)
我找到了解决方案,它比预期的要容易。我刚刚使用php SESSION
在第一次调用embed脚本时存储参数。所以embed.php
现在看起来像这样:
<?php
session_start();
if (isset($_GET['dir']))
$_SESSION['dir']=$_GET['dir'];
$root_path='Z:/www/archives/'.$_SESSION['dir'].'/';
define('FM_EMBED', true);
require 'filemanager.php';
?>