2017-09-01 47 views
0

私はfilemanagerを使用しています。これは私のプロジェクトには最適だと思います。唯一の問題は、PHPスクリプトを使ってそのパスを制限するべきだということです。私は、スクリプトを経由して、私は他のすべてを見ることなく、数値ディレクトリのひとつに、ルートディレクトリを制限できるようになりますことをしたいiframeでurlを使用してFilemanagerのパスを定義する

1 (directory) 
2 (directory) 
3 (directory) 
.... 
filemanager.php 

:私はこのようなディレクトリ構造を持っています。私は、各ディレクトリ内のファイルマネージャをコピーして、手動で内rooth_path変数を編集したくないので、私はこのような外部embed.phpファイルを作ることにしました:

<?php 
$root_path='Z:/www/archives/'.$_GET['dir'].'/'; 
define('FM_EMBED', true); 
require 'filemanager.php'; 
?> 

そして埋め込みファイルを呼び出しますこのようなIFRAMEから:

<iframe src="embed.php?dir=<?php echo $id;?>"></iframe> 

問題は、ファイルマネージャは、要求のGETパラメータを書き換えるため、dir PARAMをも最初のステップの前に失われることです。ファイルマネージャーのコード自体を書き直すことなく私の目標を達成するために他にどのような解決策を使用することができますか?

答えて

0

私は解決策を見出しました。予想よりもイージーリートでした。私は、埋め込みスクリプトが初めて呼び出されたときに、パラメータSESSIONを使用してパラメータを保存しました。したがって、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'; 
?> 
関連する問題