hi,
ich möchte ein keliens script schreiben wo user anderen usern dateien bzw ordner zu verfügung stellen können.
bloß habe ich nun das problem wenn ein user einem anderen einen Ordner freigibt wie ich diesen dem anderen user sichtbar mache.
die Ordner werden eine datenbank gespeichert(ID; Name;Ersteller;Freigabe)
Der user hat eine auswahl box wo er die user bzw. gruppen einstellen kann welche zugriff auf diesen Ordner haben.
die hierarchie schaut so aus:
Root
|_user1
| |_Ordner1
| |_Ordner2
|_user2
| |_Ordner1
...
So nehmen wir an user1 hat user2 den ordner2 freigegeben wie stelle ich es nun am besten an das user2 diesen und dessen inhalt sieht?
mein bisheriges Script
was auch noch nicht funktioniert ist
eigentlich sollten so nur die ornder angezeigt werden welche im verzeichns n_name vorhanden sind es zeigt mir aber schon ab user die ordner an
ich möchte ein keliens script schreiben wo user anderen usern dateien bzw ordner zu verfügung stellen können.
bloß habe ich nun das problem wenn ein user einem anderen einen Ordner freigibt wie ich diesen dem anderen user sichtbar mache.
die Ordner werden eine datenbank gespeichert(ID; Name;Ersteller;Freigabe)
Der user hat eine auswahl box wo er die user bzw. gruppen einstellen kann welche zugriff auf diesen Ordner haben.
die hierarchie schaut so aus:
Root
|_user1
| |_Ordner1
| |_Ordner2
|_user2
| |_Ordner1
...
So nehmen wir an user1 hat user2 den ordner2 freigegeben wie stelle ich es nun am besten an das user2 diesen und dessen inhalt sieht?
mein bisheriges Script
PHP:
<?php
include("checkuser.php");
include("_config.php");
echo'
<html>
<head>
<title>Login</title>
<link rel="stylesheet" href="/wiki/form2.css" type="text/css" />
</head><body>
<a href=\"logout.php\">Ausloggen</a> ';
$ipadresse = getenv ("REMOTE_ADDR");
$ref=$_SERVER["HTTP_REFERER"];
$user=$_SESSION["user_nickname"];
if(isset($_POST["n-ordner"]))
{
$n_ordner=$_POST["n-ordner"];
$creationdate= date("F j, Y, g:i a");
$categ="home";
$s_ordner=mysql_query("SELECT * FROM ordner WHERE ersteller='".$user."' AND category='".$categ."'")or die(mysql_error());
while($ds=mysql_fetch_object($s_ordner))
{
$n_name=$ds->Name;
$n_cat = $ds->category;
}
$currentpath=getcwd();
$pathnow=$currentpath."\\"."user\\".$n_name."\\".$n_ordner;
$checkordner = mysql_query("SELECT Name,ersteller FROM ordner WHERE Name='".mysql_real_escape_string($n_ordner)."' AND ersteller='".mysql_real_escape_string($user)."'");
$daten_exist = mysql_num_rows($checkordner);
if ($daten_exist>0) {
die("<font color=\"#000\">This Directory already exist</font>
<br /><a href=\"javascript:history.go(-1);\" class=\"titlelink\">Back</a>");
}
else{
mkdir($pathnow,777);
$nordnersql = mysql_query("INSERT INTO ordner SET Name='".mysql_real_escape_string($n_ordner)."',ersteller='".mysql_real_escape_string($user)."',Datum='$creationdate'") or die(mysql_error());
}
}
else
{
echo "Ordner konnte nicht angelegt werden";
}
if(isset($_GET['folder']))
{
echo getcwd();
$dir = getcwd()."\\"."\user\\".$n_name."\\".$_GET['folder'];
} else {
$dir = getcwd()."\\"."user\\".$n_name;
echo $dir;
}
echo "<table style=\"font-family:Verdana\">\n";
$handle = opendir($dir);
while ($file = readdir ($handle))
{
if ($file != "." && $file != ".." && !eregi(".htm",$file) && !eregi(".php",$file) && !eregi(".hta",$file) && !eregi(".htp",$file))
{
$array[] = $file;
}
}
closedir($handle);
sort($array);
foreach($array as $file)
{
if(filetype($dir."/".$file) == "dir")
{
echo "<tr>\n<td><b><a href=\"list.php?folder=".$_GET['folder'].$file."/\">".$file."</a></b></td>\n</tr>\n";
} else {
echo "<tr>\n<td><a href=\"".$_GET['folder'].$file."\">".$file."</a></td>\n</tr>\n";
}
}
echo "</table>";
?>
<form action="<?php $_SERVER["PHP_SELF"];?>"method="POST">
Ornder Anlegen<input name="n-ordner" type="text" /><br />
<input type="submit" value="Neuen Ordner Anlegen" />
</form>
PHP:
if(isset($_GET['folder']))
{
echo getcwd();
$dir = getcwd()."\\"."\user\\".$n_name."\\".$_GET['folder'];
} else {
$dir = getcwd()."\\"."user\\".$n_name;
Zuletzt bearbeitet:
