ups sorry, falscher Button... ^^
Ankündigung
Einklappen
Keine Ankündigung bisher.
Tabelle von anderer Website in eigene übernehmen (+aktualisieren)
Einklappen
Neue Werbung 2019
Einklappen
X
-
1. Wofür brauchst du überhaupt curPageURL() ?? Es bringt dir ja nichts den Pfad zum Skript anzuzeigen, du willst doch anzeigen welchen Ordner du gerade mit dem Skript anzeigst! Wenn du später mal das Skript dynamisch machst um durch die Ordner zu klicken dann musst du eben anhand der übergebenen Variable entscheiden wo du dich befindest!
2. Schau doch ins Manual. Da gibt es so viele Funktionen zu Dateioperationen da findet sich doch ganz schnell eine entsprechende Funktion die du brauchst! Filesystem. Sowas wie [man]filectime[/man]!
3. Genau du musst die Dateiextension extrahieren (zum Beispiel am letzten . trennen) und dann für die entsprechenden Extensions verschiedene Icons verwenden. Bei einem Ordner musst du mit [man]is_dir[/man] checken ob es ein Ordner ist und dann dafür eben ein Icon nutzen.
4. Die Datei selber kannst du ja rausfiltern. Dafür kannst du einfach if ($file != 'index2.php') ... schreiben um diese Datei nicht anzuzeigen. Wenn du allerdings später das ganze dynamisch hast um mehrere Ordner anzuzeigen dann solltest du noch zusätzlich checken ob du dich auch wirklich im Ordner befindest wo die index2.php liegt. Sonst hast du später ein Problem dass einfach jede index2.php nicht angezeigt wird.
Vielleicht solltest du hier auch nicht mit einem festen Namen für die Datei arbeiten sondern mit $_SERVER['PHP_SELF'].
Kommentar
-
Zitat von Flor1an Beitrag anzeigen1. Wofür brauchst du überhaupt curPageURL() ?? Es bringt dir ja nichts den Pfad zum Skript anzuzeigen, du willst doch anzeigen welchen Ordner du gerade mit dem Skript anzeigst! Wenn du später mal das Skript dynamisch machst um durch die Ordner zu klicken dann musst du eben anhand der übergebenen Variable entscheiden wo du dich befindest!
2. Schau doch ins Manual. Da gibt es so viele Funktionen zu Dateioperationen da findet sich doch ganz schnell eine entsprechende Funktion die du brauchst! Filesystem. Sowas wie [man]filectime[/man]!
3. Genau du musst die Dateiextension extrahieren (zum Beispiel am letzten . trennen) und dann für die entsprechenden Extensions verschiedene Icons verwenden. Bei einem Ordner musst du mit [man]is_dir[/man] checken ob es ein Ordner ist und dann dafür eben ein Icon nutzen.
4. Die Datei selber kannst du ja rausfiltern. Dafür kannst du einfach if ($file != 'index2.php') ... schreiben um diese Datei nicht anzuzeigen. Wenn du allerdings später das ganze dynamisch hast um mehrere Ordner anzuzeigen dann solltest du noch zusätzlich checken ob du dich auch wirklich im Ordner befindest wo die index2.php liegt. Sonst hast du später ein Problem dass einfach jede index2.php nicht angezeigt wird.
Vielleicht solltest du hier auch nicht mit einem festen Namen für die Datei arbeiten sondern mit $_SERVER['PHP_SELF'].
Zu 1. geht dies vielleicht mit [man]pathinfo[/man]?
edit: Wenn index.php da ist und du den Ordner aufrufst, kommt das auf das gleiche Raus (s. Ordnerinhalt von http://softyyx.bplaced.de/Tests/ )
Zu 3. Schau ich gleich noch..
Grüße
Softyx
Kommentar
-
Nein eigentlich brauchst du überhaupt keine Funktion um dir den aktuellen Ordner anzuzeigen.
Jetzt befindest du dich gerade in dem Ordner wo die index2.php liegt. Also im Ordner ".". Angenommen du willst jetzt in den Ordner "blub" wechseln. Dann steht im Link so etwas wie "index2.php?dir=blub". Jetzt kannst du in deinem Skript diesen Ordner auslesen. Also den aktuellen nehmen und $dir dranhängen.
"./$dir"
und dann wird eben ./blub ausgelesen. Und zum anzeigen wo du bist kannste ebenfalls diesen Pfad angeben. Wenn du jetzt in den Unterordner bla wechselst übergibst du per link "index2.php?dir=blub/bla" und so weiter.
Damit es keine Schwierigkeiten gibt beim übergeben des Ordners über die URL solltest du $dir, bevor du ihn an den Link anhängst, mit [man]urlencode[/man] kodieren damit er in der URL nur erlaubte Zeichen nutzt und dann bevor du ihn wieder einliest mit [man]urldecode[/man] dekodieren um ihn wieder nutzen zu können.
Kommentar
-
Zitat von Flor1an Beitrag anzeigenNein eigentlich brauchst du überhaupt keine Funktion um dir den aktuellen Ordner anzuzeigen.
Jetzt befindest du dich gerade in dem Ordner wo die index2.php liegt. Also im Ordner ".". Angenommen du willst jetzt in den Ordner "blub" wechseln. Dann steht im Link so etwas wie "index2.php?dir=blub". Jetzt kannst du in deinem Skript diesen Ordner auslesen. Also den aktuellen nehmen und $dir dranhängen.
"./$dir"
und dann wird eben ./blub ausgelesen. Und zum anzeigen wo du bist kannste ebenfalls diesen Pfad angeben. Wenn du jetzt in den Unterordner bla wechselst übergibst du per link "index2.php?dir=blub/bla" und so weiter.
Damit es keine Schwierigkeiten gibt beim übergeben des Ordners über die URL solltest du $dir, bevor du ihn an den Link anhängst, mit [man]urlencode[/man] kodieren damit er in der URL nur erlaubte Zeichen nutzt und dann bevor du ihn wieder einliest mit [man]urldecode[/man] dekodieren um ihn wieder nutzen zu können.
Bei Ordnerinhalt von http://softyyx.bplaced.de/Tests/ ist ein Ordner noch: und zwar "links" komm ich zu der Index.php dieses ordners, das wäre ja auch akzeptabel?
Nochmal zum Dateiendungen auslesen, hab da was von strrpos und substr gelesen und auch das pathinfo. Bloß wie mache ich das bei mehreren Dateien?
Um dann des richtige bild anzuzeigen muss ich dann
PHP-Code:echo "<img src=\"blabla/$file_ext.png\" />";
#oder
echo "<img src=\""blabla/" $file_ext . "png"\" />
Grüße
Softyx
Kommentar
-
Das Bild kannst du so ausgeben! Du liest ja die Files auch einzeln ein, also in einer Schleife. Und in jedem Durchgang musst du eben ein Icon anzeigen lassen.
Die Extension könntest du auch so raus finden:
PHP-Code:$filename = 'datei.pdf';
$tmp = explode('.', $filename);
$extension = $tmp[count($tmp) - 1];
Und in jeden Ordner dieses Skript ablegen funktioniert natürlich auch, ist allerdings recht umständlich! PHP bietet dir eben die Möglichkeit das auch so zu machen dass du alle Ordner die existieren zu durchsuchen. Angenommen du willst dein Skript jetzt wo anders nutzen oder es kommen neue Ordner dazu ... dann musst du jedes mal das Skript kopieren und ich glaube kaum dass du dazu Lust hast wenns auch einfach geht
Kommentar
-
Zitat von Flor1an Beitrag anzeigenDas Bild kannst du so ausgeben! Du liest ja die Files auch einzeln ein, also in einer Schleife. Und in jedem Durchgang musst du eben ein Icon anzeigen lassen.
Die Extension könntest du auch so raus finden:
PHP-Code:$filename = 'datei.pdf';
$tmp = explode('.', $filename);
$extension = $tmp[count($tmp) - 1];
edit: nee geht nich, wenn man das macht dann heißt das link nur blabla/.png^^...
Wie kann ich jetzt erreichen das der den richtigen Dateinamen immer zerlegt??
So siehts grad aus wenn:
PHP-Code:// Extension
$filename = $file;
$tmp = explode('.', $filename);
$extension = $tmp[count($tmp) - 1];
Und was mach ich jetzt mit nem symbol fürn ordner? den ein ordner hat ja keine Dateiendung?
Grüße
Softyx
Kommentar
-
Ich weiß nicht warum deine Icons nicht angezeigt werden. Wird denn auch wirklich im HTML Code dann $extension als Dateiname für das Icon verwendet??
Und mit dem Ordner machst du, wie ich schon sagte, z.B.
PHP-Code:if (is_dir($file)) $icon_datei = 'dir.png';
else {
// extension rausfinden ...
$icon_datei = $extension.'.png';
}
<img src="$icon_datei" /> machen oder eben so ähnlich.
Kommentar
-
Zitat von Flor1an Beitrag anzeigenIch weiß nicht warum deine Icons nicht angezeigt werden. Wird denn auch wirklich im HTML Code dann $extension als Dateiname für das Icon verwendet??
Und mit dem Ordner machst du, wie ich schon sagte, z.B.
PHP-Code:if (is_dir($file)) $icon_datei = 'dir.png';
else {
// extension rausfinden ...
$icon_datei = $extension.'.png';
}
<img src="$icon_datei" /> machen oder eben so ähnlich.
PHP-Code:<?php
echo "<html>\n";
echo "\n <head>\n";
echo " <title>Index of ".curPageURL()."</title>\n";
echo "<link rel=\"shortcut icon\" href=\"http://softyyx.bplaced.de/Index/DD012.ico\" type=\"image/x-icon\">\n";
?>
<style type="text/css">
<!--
body{
background-color:rgb(240,240,240);
color:#666666;
font-family:"Trebuchet MS", Segoe UI, Arial;
font-size:9px;
}
a:link{
text-decoration:none;
color:#666666;
font-family:"Trebuchet MS", Verdana;
font-size:12px;
}
a:visited{
text-decoration:none;
color:#666666;
font-family:"Trebuchet MS", Verdana;
font-size:12px;
}
.head{
color: #3366CC;
font-family:"Trebuchet MS";
font-size:16px;
}
.display{
color: #666666;
font-family:"Trebuchet MS", Verdana;
font-size:12px;
}
.b {
font-family:"Trebuchet MS", Verdana;
}
.top {
border: 1px solid #000000;
}
th {
border-bottom:solid 1px rgb(227,227,227);
}
.outer {
background-color:#FFFFFF;
-moz-border-radius:10px;
border:rgb(160,160,160) 1px solid;
}
#omo {
border: solid 1px #FFFFFF;
}
#omo:hover {
border: solid 1px rgb(227,227,227);
-moz-border-radius:4px;
}
-->
</style>
<?php
echo " </head>\n";
echo "\n <body>";
echo "
<table width=\"100%\" height=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr >
<td height=\"6%\"> </td>
</tr>
<tr>
<td align=\"center\" valign=\"top\">
<table class=\"outer\" width=\"68%\" cellpadding=\"0\" cellspacing=\"0\">
<thead>
<td colspan=\"7\"> </td>
</thead>
<tr>
<td rowspan=\"1000\" width=\"4%\"> </td>
<th colspan=\"5\" align=\"left\"><span class=\"head\">Index of ".curPageURL()."</span></th>
<td rowspan=\"1000\" width=\"4%\"> </td>
</tr>
<tr>
<td><font size=\"2px\"> </font></td>
</tr>
<tr>
<td align=\"right\" valign=\"middle\"><img src=\"http://softyyx.bplaced.de/Index/Uploads11.png\" border=\"0\" />
<td align=\"left\" valign=\"middle\" colspan=\"4\"><a href=\"../\">Switch to superordinated Folder</a></td>
</tr>
<tr>
<td><font size=\"2px\"> </font></td>
</tr>
<tr>
<td rowspan=\"1000\" width=\"4%\"> </td>
<td style=\"border-bottom:1px double #000000\" align=\"left\">Name</td>
<td style=\"border-bottom:1px double #000000\" align=\"center\">Size</td>
<td style=\"border-bottom:1px double #000000\" align=\"center\">Last modified</td>
<td rowspan=\"1000\" width=\"4%\"> </td>
</tr>";
// Ermitteln und Darstellen der Dateigröße
function DownloadSize($file){
$size = filesize($file);
$sizes = Array(' B ', ' KB ', ' MB ', ' GB ', ' TB ', ' PB ', ' EB ');
$ext = $sizes[0];
for ($i=1; (($i < count($sizes)) && ($size >= 1024)); $i++) {
$size = $size / 1024;
$ext = $sizes[$i];
}
return round($size, 2).$ext;
}
// Ermitteln der jetzigen URL
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
// Ermitteln der letzen Änderung
// s. 3 Zelle >. date("F d Y H:i:s.", filectime($file)) .<
// Ermitteln der Dateiendung
$filename = $file;
$tmp = explode('.', $filename);
$extension = $tmp[count($tmp) - 1];
// Ermitteln der Datein im Ordner
$dateipfad = "./";
$handle = opendir($dateipfad);
while($file = readdir($handle)){
// Die Excludes
if($file != "." &&
$file != ".." &&
$file != "index.php" &&
$file != "index.html" &&
$file != "index.htm" &&
$file != ".ftpquota" &&
$file != "mySQLadmin" &&
$file != "pgSQLadmin" &&
$file != "index" &&
$file != "Index"){
// Daraus resultierende Tabelle
echo "
<tr>
<td width=\"300\" id=\"omo\"><img src=\"http://softyyx.bplaced.de/Index/$extension.png\" /><a href=\"$file\">$file</a></td>
<td width=\"100\" id=\"omo\" class=\"display b\" align=\"right\">".DownloadSize($file)."</td>
<td width=\"300\" id=\"omo\" class=\"display\" align=\"center\">" . date("F d Y H:i:s.", filectime($file)) . "</td>
</tr>";
}
}
closedir($handle);
echo "
<tr >
<td height=\"6%\"> </td>
</tr>";
echo "\n </table>\n";
echo " </td>\n";
echo " </tr>\n";
echo "\n </table>\n";
echo " </body>\n";
echo "\n</html>";
?>
PHP-Code:// Daraus resultierende Tabelle
echo "
<tr>
<td width=\"300\" id=\"omo\"><img src=\"http://softyyx.bplaced.de/Index/$extension.png\" /><a href=\"$file\">$file</a></td>
<td width=\"100\" id=\"omo\" class=\"display b\" align=\"right\">".DownloadSize($file)."</td>
<td width=\"300\" id=\"omo\" class=\"display\" align=\"center\">" . date("F d Y H:i:s.", filectime($file)) . "</td>
</tr>";
}
Kommentar
-
Zitat von Flor1an Beitrag anzeigenIch glaub du hast das falsch verstanden. Du willst doch das Icon für JEDE Datei die du anzeigst haben. Also musst du auch für JEDE Datei die du einliest die Extension ermitteln. Das sollte also innerhalb der while-Schleife stehen und am besten noch innerhalb der großen if-Abfrage.
edit: ach klar, ich bin doch so doof... die Files werden ja erst in der If ausgelesen? Trotzdem blick ich grad nich wo ich des dann hinsetzen muss ^^
Grüße
Softyx
Kommentar
-
Zitat von Flor1an Beitrag anzeigenirgendwo in die IF Abfrage das is egal. Auf jeden Fall irgendwo bevor du das Icon ausgeben möchtest.
PHP-Code:// Die Excludes
if($file != "." &&
$file != ".." &&
$file != "index.php" &&
$file != "index.html" &&
$file != "index.htm" &&
$file != ".ftpquota" &&
$file != "mySQLadmin" &&
$file != "pgSQLadmin" &&
$file != "index" &&
$file != "Index"){
Wenn du zum ersten meinst heißt es dann so, mir verwirrt nämlich grad wie man dann das Ordner if einbringt (kann man ifs verschachteln^^, so wie in excel :P):
PHP-Code:// Die Excludes
if($file != "." &&
$file != ".." &&
$file != "index.php" &&
$file != "index.html" &&
$file != "index.htm" &&
$file != ".ftpquota" &&
$file != "mySQLadmin" &&
$file != "pgSQLadmin" &&
$file != "index" &&
$file != "Index"; // ein Semikolon oder &&?
$filename = $file;
$tmp = explode('.', $filename);
$extension = $tmp[count($tmp) - 1];){
Kommentar
-
Nein nicht IN die IF Bedingung ... man denk doch bissl nach. Das hat doch nichts mit einer Bedingung zutun.
PHP-Code:
// hier die Extension extrahieren
echo "
<tr>
<td width=\"300\" id=\"omo\"><img src=\"http://softyyx.bplaced.de/Index/$extension.png\" /><a href=\"$file\">$file</a></td>
...";
Kommentar
-
Zitat von Flor1an Beitrag anzeigenNein nicht IN die IF Bedingung ... man denk doch bissl nach. Das hat doch nichts mit einer Bedingung zutun.
PHP-Code:
// hier die Extension extrahieren
echo "
<tr>
<td width=\"300\" id=\"omo\"><img src=\"http://softyyx.bplaced.de/Index/$extension.png\" /><a href=\"$file\">$file</a></td>
...";
Index of http://softyyx.bplaced.de/Tests/
Ich dank dir......
Grüßle und noch n schönen Abend
Softyx
Kommentar
Kommentar