Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabelle von anderer Website in eigene übernehmen (+aktualisieren)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Softyx
    antwortet
    Zitat von Flor1an Beitrag anzeigen
    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'].
    okay, also 2. und 4. hab ich weg^^.

    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

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    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'].

    Einen Kommentar schreiben:


  • Softyx
    antwortet
    ups sorry, falscher Button... ^^

    Einen Kommentar schreiben:


  • Softyx
    antwortet
    Zitat von Frank Beitrag anzeigen
    Mir ist grad sowas von langweilig . Darum schreib ich dir jetzt einfach mal nen Script.

    Benutzte Funktionen
    [man]opendir[/man]
    [man]readdir[/man]
    [man]closedir[/man]
    [man]is_dir[/man]
    [man]is_file[/man]
    ansonsten wichtig:
    • Rekursion
    • Referenz / Referenzvariablen
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    function 
    recursiveDirectoryReader($dir, &$verzeichnisliste) {
        
    $verzeichnisliste[$dir] = array("files"=>array(), "direcotries"=>array());
        
    $handle opendir($dir);
        while((
    $content readdir($handle)) !== false) {
            if(
    is_file($dir.DIRECTORY_SEPARATOR.$content)) {
                
    $verzeichnisliste[$dir]["files"][] = $dir.DIRECTORY_SEPARATOR.$content;
            }
            elseif(!(
    $content == "." || $content == "..") && is_dir($dir.DIRECTORY_SEPARATOR.$content)) {
                
    recursiveDirectoryReader($dir.DIRECTORY_SEPARATOR.$content$verzeichnisliste[$dir]["directories"][]);
            }
        }
        
    closedir($handle);
    }

    $dir "."//Startverzeichnis (unterste Ebene)
    $verzeichnisliste = array(); //Buffer für die Auflistung der Verzeichnisse

    recursiveDirectoryReader($dir$verzeichnisliste);

    echo 
    "<pre>";
    var_dump($verzeichnisliste);
    echo 
    "</pre>";
    ?>
    Die Ausgabe musst du halt anpassen so wie du es haben möchtest
    danke, aber irgentwie will das nich (auch wenn ich das Pre durch was anderes ersetze),macht aber nichts, da ich mir mal selber was machen will :P (man muss ja die Initiative dazu zeigen ^^)

    hab des oben genannte (mein letzer Post) wieder umgefriemelt...
    PHP-Code:
    <?php
    echo "<html>\n";
    echo 
    "\n <head>\n";
    echo 
    "  <title>Ordnerinhalt von ".curPageURL()."</title>\n";
    ?>
      <style type="text/css">
       <!--
        body{
        color:#666666;
        font-family:"Trebuchet MS", Verdana;
        font-size:10px;
        }
        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:"Courier New", Verdana;
        }
        -->
      </style>
    <?php
    echo " </head>\n";
    echo 
    "\n <body>";
    echo 
    "
      <table>
       <thead>
        <th colspan=\"3\"><span class=\"head\">Inhalt von "
    .curPageURL()."</span></th>
       </thead>
       <tr>
        <td style=\"border-bottom:1px double #000000\">Dateiname</td>
        <td style=\"border-bottom:1px double #000000\">Dateigr&ouml;&szlig;e</td>
        <td style=\"border-bottom:1px double #000000\">Letzte &Auml;nderung</td>
       </tr>"
    ;

    // Ermitteln der Dateigröße, Quelle: http://www.php.net
    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 
    $ext.round($size2);
    }

    // Jetzige Ordner URL, Quelle: http://www.webcheatsheet.com/PHP/get_current_page_url.php
    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;
    }

    // Letzte Änderung?
    // Ja.. hmmm und wie?^^

    // Ordner
    $dateipfad "./";
    $handle opendir($dateipfad);
    while(
    $file readdir($handle)){

    // Serververweise nicht auslesen (das waren meine tollen Punkte oben :P)
    if($file != "." && $file != ".."){

    // Daraus resultierende Tabelle
    echo "
       <tr>
        <td width=\"300\"><a href=\"
    $file\">$file</a></td>
        <td width=\"100\" class=\"display b\">"
    .DownloadSize($file)."</td>
        <td width=\"300\" class=\"display\">Hier soll die letzte Änderung rein...</td>
       </tr>"
    ;
    }
    }
    closedir($handle);

    echo 
    "\n  </table>\n";
    echo 
    " </body>\n";
    echo 
    "\n</html>";
    ?>
    Ordnerinhalt von http://softyyx.bplaced.de/Tests/index2.php

    Soo auch hier wieder ein Paar Fragen:
    1. Bei der Funktion "curPageURL()" wird die jetztige Datei dargestellt, is auch klar. Wie kann den Dateinamen "kappen".
    2. Wie kann ich eine Letzte Änderung anzeigen lassen??
    3. Optional: Wie kann ich ein Icon in einer Spalte davor anzeigen lassen, das den Dateityp zeigt? (also Dateityp auslesen und dann mit if und elseif?)
    4. Optional: Und vielleicht die Datei selber (in dem Fall index2.php) nicht anzeigen?
    Danke und Grüße
    Softyx

    Einen Kommentar schreiben:


  • Frank
    antwortet
    Mir ist grad sowas von langweilig . Darum schreib ich dir jetzt einfach mal nen Script.

    Benutzte Funktionen
    [MAN]opendir[/MAN]
    [MAN]readdir[/MAN]
    [MAN]closedir[/MAN]
    [MAN]is_dir[/MAN]
    [MAN]is_file[/MAN]
    ansonsten wichtig:
    • Rekursion
    • Referenz / Referenzvariablen


    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    function 
    recursiveDirectoryReader($dir, &$verzeichnisliste) {
        
    $verzeichnisliste[$dir] = array("files"=>array(), "direcotries"=>array());
        
    $handle opendir($dir);
        while((
    $content readdir($handle)) !== false) {
            if(
    is_file($dir.DIRECTORY_SEPARATOR.$content)) {
                
    $verzeichnisliste[$dir]["files"][] = $dir.DIRECTORY_SEPARATOR.$content;
            }
            elseif(!(
    $content == "." || $content == "..") && is_dir($dir.DIRECTORY_SEPARATOR.$content)) {
                
    recursiveDirectoryReader($dir.DIRECTORY_SEPARATOR.$content$verzeichnisliste[$dir]["directories"][]);
            }
        }
        
    closedir($handle);
    }

    $dir "."//Startverzeichnis (unterste Ebene)
    $verzeichnisliste = array(); //Buffer für die Auflistung der Verzeichnisse

    recursiveDirectoryReader($dir$verzeichnisliste);

    echo 
    "<pre>";
    var_dump($verzeichnisliste);
    echo 
    "</pre>";
    ?>
    Die Ausgabe musst du halt anpassen so wie du es haben möchtest

    Einen Kommentar schreiben:


  • Softyx
    antwortet
    Zitat von Flor1an Beitrag anzeigen
    Naja fang einfach mal an ... es gibt genügend Snippets wie man Ordner auslesen kann ... im PHP Manual stehen zu den File Funktionen auch genügend Kommentare um damit zu arbeiten. Versuch erstmal einen Ordner auszulesen und darzustellen. Dann kannst du das ganze variable machen.
    sooo, hab mich durchgelesen und bin zu dem gekommen:

    PHP-Code:
    <?php

    $tabelle
    =opendir (".");

    echo 
    "
        <html>
         <head>
          <title>PHP Index</title>
         </head>
         <style type=\"text/css\">
          th {background-color: #336699;}
          table {border: #000000 solid 2px;}
          td {border: #000000 solid 1px;}
         </style>
         <body bgcolor=\"#AA5500\"><table>"
    ;
    echo 
    "<thead><th width=\"500\" align=\"center\"><strong>Inhalt</strong></th></thead>";

    while (
    $datei readdir ($tabelle)) {

     echo 
    "<tr><td>$datei</td></tr>";

    }

    closedir($tabelle);

    ?>
    http://softyyx.bplaced.de/Tests/index.php

    Dann noch Fragen:
    • Wie schließe ich die Tabelle^^
    • Was bedeuten die Punkte?? (.. und .) Ich denke mal ein Höher und Ganz vor (oder so) und wie mach ich sie weg?
    • Sortieren??
    • Wie das Last modified, Size und soweiter hinzufügen?
    Grüße
    Softyx

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Naja fang einfach mal an ... es gibt genügend Snippets wie man Ordner auslesen kann ... im PHP Manual stehen zu den File Funktionen auch genügend Kommentare um damit zu arbeiten. Versuch erstmal einen Ordner auszulesen und darzustellen. Dann kannst du das ganze variable machen.

    Einen Kommentar schreiben:


  • Softyx
    antwortet
    Bist du überhaupt fitt in PHP? Wenn nicht solltest du dir die Grundlagen erst aneignen bevor du dich an sowas setzt.
    Bin ja schon dabei ^^. Aber durch schule und andere Sachen ist das halt schon etwas begrenzt.., ich nutze zZ schon viele minuten meiner Freien Zeit um mich damit zu beschäftigen (aber bald sin sommerferien, dann kanns richtig losgehen :P). Aber da dieses Forum PHP Einsteiger heist, hab ich halt mal gedacht ich frag mal .

    Im Endeffekt läuft es darauf hinaus dass du über eine Variable den aktuellen Ordner in dem du dich befindest übergibst. Dann kannst du mit PHP diesen Ordner auslesen, dann hast du eine List von Unterordnern oder Dateien in diesem Ordner.

    Die Unterordner sind wiederum links auf das selbste Skript geben jetzt allerdings über die Variable den Unterordner an so dass beim klicken auf den Link jetzt der Unterordner ausgelesen wird.
    Sowas habe ich mir gedacht... Könntest du mir vielleicht trotz meiner mangelnden PHP "künste" Hilfe geben, oder mir eine kleine Vorlage machen. Vielleicht gibt es auch irgentwo schon eine solche vorlage.

    Die Kleinigkeiten wie Dateigröße/Schreibrechte/Datei bzw. Ordnericon sind dann nicht viel schwieriger.
    Das denk ich mir^^

    Grüße
    Softyx

    Und mal n dickes danke an dich Flor1an^^

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Bist du überhaupt fitt in PHP? Wenn nicht solltest du dir die Grundlagen erst aneignen bevor du dich an sowas setzt.

    Im Endeffekt läuft es darauf hinaus dass du über eine Variable den aktuellen Ordner in dem du dich befindest übergibst. Dann kannst du mit PHP diesen Ordner auslesen, dann hast du eine List von Unterordnern oder Dateien in diesem Ordner.

    Die Unterordner sind wiederum links auf das selbste Skript geben jetzt allerdings über die Variable den Unterordner an so dass beim klicken auf den Link jetzt der Unterordner ausgelesen wird.

    So kannst du so eine Navigierung durch die Ordner erreichen. Die Kleinigkeiten wie Dateigröße/Schreibrechte/Datei bzw. Ordnericon sind dann nicht viel schwieriger.

    Einen Kommentar schreiben:


  • Softyx
    antwortet
    Zitat von Flor1an Beitrag anzeigen
    Natürlich kannst du das selber machen! Dafür musst du halt deinen Ordner auslesen und die Dateien/Ordner entsprechend darstellen ...
    könntest du mir eventuell einen Anfang geben, da ich nich direkt versteh wie du das meinst...

    Grüße
    Softyx

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Natürlich kannst du das selber machen! Dafür musst du halt deinen Ordner auslesen und die Dateien/Ordner entsprechend darstellen ...

    Einen Kommentar schreiben:


  • Softyx
    antwortet
    Zitat von Flor1an Beitrag anzeigen
    Du kannst den HTML Quellcode der anderen Seite einlesen, dann alles HTML um die Tabelle herum filtern (nach bestimmten Suchkriterien z.b. <table></table> oder so etwas) und dann hättest du die Tabelle!

    Zum einlesen könntest du z.B. [man]file_get_contents[/man] nutzen. Allerdings funktioniert das nur mit allow_url_fopen = on! Das ist nicht bei allen Webspaceanbietern aktiviert.
    ok dann kann ichs vergessen, den bplaced unterstützt kein allow_url_fopen...
    Trotzdem danke für die hilfe (hab ja was dazugelernt :P)

    Ne andere Frage:
    Ist es möglich soetwas selber zu machen, also vom design her? Einfach das es anders aussieht?


    Grüße
    Softyx

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Du kannst den HTML Quellcode der anderen Seite einlesen, dann alles HTML um die Tabelle herum filtern (nach bestimmten Suchkriterien z.b. <table></table> oder so etwas) und dann hättest du die Tabelle!

    Zum einlesen könntest du z.B. [MAN]file_get_contents[/MAN] nutzen. Allerdings funktioniert das nur mit allow_url_fopen = on! Das ist nicht bei allen Webspaceanbietern aktiviert.

    Einen Kommentar schreiben:


  • Softyx
    antwortet
    Zitat von Frank Beitrag anzeigen
    Damit hast du noch immer nicht die Frage beantwortet.
    Handelt es sich um eine in (X)HTML geschriebene, XML geschriebene Tabelle oder um eine Tabelle in einer Datenbank?

    Generell ist es immer möglich, es unterscheiden sich nur die Arten, wie man dann darauf zugreift.
    Oups sorry:
    Sie ist in HTML geschrieben...

    Grüße
    Softyx

    Einen Kommentar schreiben:


  • Frank
    antwortet
    Damit hast du noch immer nicht die Frage beantwortet.
    Handelt es sich um eine in (X)HTML geschriebene, XML geschriebene Tabelle oder um eine Tabelle in einer Datenbank?

    Generell ist es immer möglich, es unterscheiden sich nur die Arten, wie man dann darauf zugreift.

    Einen Kommentar schreiben:

Lädt...
X