Visualizzazione risultati 1 fino 2 di 2

Discussione: problema con script per visualizzare i files di una directory

  1. #1
    Guest

    Predefinito problema con script per visualizzare i files di una directory

    Oggi, non avendo nulla da fare, mi sono messo a fare questo banare script:
    Codice PHP:
    <?php
    function mkfile($dir) {

    if(
    $handle = opendir($dir)) {
    echo
    "Handle della directory: ".$dir."<br>";
    echo
    "<table border=\"1\">
    <tr>
    <td>File Type</td>
    <td>File Name</td>
    <td>File Size</td>
    <td>View Code</td>
    </tr>"
    ;
    while(
    false !== ($file = readdir($handle))) {
    if(
    $file != "." && $file != "..") {
    $cont = pathinfo($file);
    $ext = $cont['extension'];
    echo
    "<tr>\n<td>".strtoupper($ext)."</td>
    <td><a href=\""
    .$file."\">".$file."</a></td>
    <td>"
    .filesize($file)."</td>
    <td><a href=\"guarda.php?file="
    .$file."\">View</a></td>
    </tr>\n"
    ;
    }
    }
    echo
    "</table>\n";
    }
    }
    ?>
    <html>
    <head>
    <script>
    function guarda() {
    document.getElementById("code").style.display='block';
    }
    </script>
    <style>
    #code {display: none}
    </style>
    <title>Guarda tutti i files</title>
    </head>
    <body>
    <?php
    mkfile
    (getcwd());
    ?>
    </body>
    </html>
    guarda.php
    Codice PHP:
    <?php
    if(isset($_GET['file'])) {
    $file = $_GET['file'];
    if(
    file_exists($file)) {
    $f = fopen($file, "a+");
    $cont = fread($f, filesize($file));
    echo
    "Ecco il contenuto del file ".$file."<br>";
    echo
    "<textarea cols=\"60\" rows=\"20\">".htmlentities($cont)."</textarea>";
    } else {
    echo
    "Il file ".$file." non esiste!";
    }
    } else {
    echo
    "Questa pagina deve avere un file accodato all'url";
    }
    ?>
    Nella prima pagina tutto va bene, ma nella seconda l'output è strano.
    http://gabryhacker.altervista.org/esempi/opendir.php
    Provate a cliccare su una qualsiasi voce view e vedrete l'output.
    Perchè è così?
    EDIT:
    ho capito il perchè dei simboli strani, e cioè la codifica, ma il problema rimane -.-
    RIEDIT: risolto: cliccavo sul guestbook.rar XD
    Ultima modifica di gabryhacker : 21-10-2008 alle ore 18.56.35

  2. #2
    Guest

    Predefinito

    Scusate il doppio post, ma ho un'altro problema:
    siccome non voglio 2 pagine separate, ma voglio che la seconda si crei da sola, ho riscritto la prima pagina:
    Codice PHP:
    <?php
    function mkfile($dir) {

    if(
    $handle = opendir($dir)) {
    echo
    "Handle della directory: ".$dir."<br>";
    echo
    "<table border=\"1\">
    <tr>
    <td>File Type</td>
    <td>File Name</td>
    <td>File Size</td>
    <td>View Code</td>
    </tr>"
    ;
    while(
    false !== ($file = readdir($handle))) {
    if(
    $file != "." && $file != "..") {
    $cont = pathinfo($file);
    $ext = $cont['extension'];
    if(!
    $ext) {
    $ext = "DIR";
    }
    echo
    "<tr>\n<td>".strtoupper($ext)."</td>
    <td><a href=\""
    .$file."\">".$file."</a></td>
    <td>"
    .filesize($file)."</td>
    <td><a href=\"guarda.php?file="
    .$file."\">View</a></td>
    </tr>\n"
    ;
    }
    }
    echo
    "</table>\n";
    }
    $f = fopen("guarda.php", "a+t");
    fwrite($f, "<?php
    if(isset(\$_GET['file'])) {
    \$file = \$_GET['file'];
    if(file_exists(\$file)) {
    \$f = fopen(\$file, \"a+\");
    \$cont = fread(\$f, filesize(\$file));
    echo \"Ecco il contenuto del file \".\$file.\"<br>\";
    echo \"<textarea cols='60' rows='20'>"
    .htmlentities(\$cont).\"</textarea>\";
    } else {
    echo \"Il file \".\$file.\" non esiste!\";
    }
    } else {
    echo \"Questa pagina deve avere un file accodato all'url\";
    }
    ?>"
    );
    fclose($f);
    }
    ?>
    <html>
    <head>
    <script>
    function guarda() {
    document.getElementById("code").style.display='block';
    }
    </script>
    <style>
    #code {display: none}
    </style>
    <title>Guarda tutti i files</title>
    </head>
    <body>
    <?php
    mkfile
    (getcwd());
    ?>
    </body>
    </html>
    Guardate l'output: http://crashinside.net/esempi/opendir.php
    EDIT: Risolto tutto, avevo sbagliato a mettere delle virgolette
    Ultima modifica di gabryhacker : 26-10-2008 alle ore 13.32.33

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •