在iframe中通过url定义Filemanager rooth路径

时间:2017-09-01 11:23:04

标签: php iframe

我使用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参数也会丢失。我可以用什么其他解决方案来实现我的目标,而无需重写文件管理器代码本身?

1 个答案:

答案 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';
?>