0

ユーザーがサインインしている場合にディレクトリからファイルを表示する次のスクリプトを作成しました。

<?php
session_start();
require_once("path/file.php");

if (!empty($_SESSION[username]))
{echo "You <b>$_SESSION[username]</b> are registered.";

$dirPath = dir('includes/path/');
$docArray = array();
while (($file = $dirPath->read()) !== false)
{
  if ((substr($file, -3)=="pdf") || (substr($file, -3)=="doc"))
  {
     $docArray[ ] = trim($file);
  }
}
$dirPath->close();
sort($docArray);
$c = count($docArray);
foreach($docArray as $filename)
{
    echo "<div><a href=\"./includes/path/$filename\">Download '$filename'</a></div>";
    echo "<br/>";
} 
 include('logout.php');
}

else
{echo "somethingsomething";

include('login.php');
}
?>

members テーブルには、MSV と LTP の 2 つの列があり、可能な値は 0、1 です。ディレクトリ /path/LTP と /path/MSV も必要です。

ユーザーが LTP や MSV に対する権限を持っている場合、それに応じてファイルが表示されるように、スクリプトに追加する必要があります。

4

2 に答える 2

0

ユーザーのデータベースをクエリし、行をフェッチした後にロジックを組み込みます。

$username = mysqli_real_escape_string($con, $_SESSION['username']);
$query = "SELECT `LTP`, `MSV` FROM `members` WHERE `username`='".$username."'";
$data = mysqli_query($con, $query) or die(mysqli_error($con));
$row = mysqli_fetch_array($data);

if ($row['MSV'] == '1') {
    //provide access to MSV files here.
}

if ($row['LTP'] == '1') {
    //provide access to LTP files here.
}

このdieステートメントはデバッグ用であり、本番環境で使用するには十分ではないことに注意してください。

于 2013-08-29T17:22:14.810 に答える