hallo zusammen, ich bin derzeit dabei eine webseite für meine freundin zu gestalten und genau genommen bin ich auch schon recht weit, doch jetzt habe ich ein problem welches ich nicht in den griff bekomme und ich glaube das es ein ganz einfaches ist und ich lediglich ein brett vorm kopf habe. ih hoffe ihr könnt mir helfen!
also, folgendes script:
sorgt dafür das meine freundin ihre schulsachen hochladen kann (per ftp) und diese dann von dem script angezeigt werden, mit unterordner etc. (das script habe ich nicht selber geschrieben, sondern mal irgendwo als snippet oder so gefunden, ist schon länger her).
das problem ist jetzt das wenn ich nun eine datei öffnen möchte das script den hauptpfad nicht erkennt, das heist:
das script liegt in "htdocs" und es startet seine arbeit in "htdocs/schule/" wenn ich jetzt aber in "htdocs/schule/englisch/fairy tales/" gehe und dort eine datei öffnen möchte so fehlt dem script der pfad "schule" und es verweist auf "htdocs/englisch/fairy tales/"
ich hab schon ne ganze menge ausprobiert (in meinen augen alles was mir möglich war) aber ich komme nicht drauf und ich bin leider auch nicht der crack in sachen php, ich hoffe das einer von euch mir da helfen kann.
ihr könnt euch mal anschauen wie es arbeitet unter: http://www.mitglied.lycos.de/seril312/school.php3
also, folgendes script:
PHP-Code:
<? include "header.inc.php3";
// *************** CONST ***************
$me = basename($PHP_SELF);
$basepath = "schule/";
if (strstr($ext,"/..") OR strstr($ext,"../")) die("<p> zerstört!");
$ext = $ext."/";
$path = $SERVER_NAME.dirname($PHP_SELF).$ext;
$folder = dir($basepath.$ext);
$i=0;
$i2=0;
$foldersize=0;
// *************** read() ***************
while ($datei = $folder->read())
{
$i++;
if ($i > 2 AND $datei != $me)
{
$files[$i-2]=$datei;
}
}
if (!isset($files[1])) $files[1] = "Keine Daten gefunden!";
// *************** sort ohne casesensitivty ***************
natcasesort($files);
// *************** auswertung ***************
foreach($files as $key=>$datei)
{
$i2++;
$datei = $basepath.$ext.$datei;
if (is_dir($datei)) $dir = "1"; else $dir = "0";
$filename = basename($datei);
$filesize = @number_format(filesize($datei) / 1024,2,"",".");
$foldersize += @filesize($datei) / 1024;
$filedate = @date("d/m/y - H:i",filemtime($datei));
$field[$i2] = array (
"dir" => $dir,
"filename" => $filename,
"filesize" => $filesize,
"filedate" => $filedate
);
}
// *************** formatierung ***************
function format_arr($str)
{
global $ext, $path;
if ($str[dir] == "1")
{
$icon = "dir";
$href = "?ext=".$ext.$str[filename];
}
else
{
$icon = "file";
$filesize = $str[filesize]." Kb";
$href = $path.$str[filename];
$href = "http://".str_replace("//", "/", $href);
}
echo "
<tr>
<td width=\"15\" align=\"center\"
bgcolor=\"#87CEFF\"><img src=\"images/".$icon.".gif\"></td>
<td width=\"*%\" class=\"text\"
bgcolor=\"#87CEFF\"><a href=\"".$href."\">$str[filename]</a></td>
<td class=\"textn\" width=\"80\"
align=\"center\" bgcolor=\"#87CEFF\">
<font size=\"1\">$filesize</font></td>
<td class=\"textn\" width=\"110\"
align=\"center\" bgcolor=\"#87CEFF\">
<font size=\"1\">$str[filedate]h</font></td>
</tr>";
}
echo "
<table width=\"100%\" align=\"center\" cellspacing=\"1\"
cellpadding=\"5\">
<tr>
<td align=\"center\" colspan=\"4\"
valign=\"top\">
<a href=\"javascript:history.go(-1)\">
zurück</a>
</td>
</tr>
<tr>
<td class=\"textn\">
</td>
<td class=\"textn\" align=\"left\">
Name
</td>
<td class=\"textn\" align=\"center\">
Größe
</td>
<td class=\"textn\" align=\"center\">
Datum
</td>
</tr>";
foreach ($field as $key => $echo)
{
if ($echo[dir] == "1")
{
format_arr($echo);
}
}
foreach ($field as $key => $echo)
{
if ($echo[dir] == "0")
{
format_arr($echo);
}
}
if ($foldersize > 1024*1024) {
$foldersize /= 1024*1024; $foldersize = number_format($foldersize,2)." gb";
}
elseif ($foldersize > 1024) {
$foldersize /= 1024; $foldersize = number_format($foldersize,2)." mb";
}
else $foldersize = number_format($foldersize,2)." kb";
echo "
</table>
<table width=\"100%\" align=\"center\">
<tr>
<td class=\"textn\"
align=\"center\" width=\"100%\">
<font size=\"1\">";echo $i-2;
echo " Objekt(e) belegen $foldersize</font>
</td>
</tr>
</table>";
include "footer.inc.php3"; ?>
das problem ist jetzt das wenn ich nun eine datei öffnen möchte das script den hauptpfad nicht erkennt, das heist:
das script liegt in "htdocs" und es startet seine arbeit in "htdocs/schule/" wenn ich jetzt aber in "htdocs/schule/englisch/fairy tales/" gehe und dort eine datei öffnen möchte so fehlt dem script der pfad "schule" und es verweist auf "htdocs/englisch/fairy tales/"
ich hab schon ne ganze menge ausprobiert (in meinen augen alles was mir möglich war) aber ich komme nicht drauf und ich bin leider auch nicht der crack in sachen php, ich hoffe das einer von euch mir da helfen kann.
ihr könnt euch mal anschauen wie es arbeitet unter: http://www.mitglied.lycos.de/seril312/school.php3
Kommentar