IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Výpis adresáře a následný výběr souboru k editaci

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Dave
Neregistrovaný
Avatar
Dave:24.10.2013 19:58

Ahoj lidi, může mě dobrá duše nakopnout, jak propojit scripty v souboru tak, aby při výpisu adrsáře bylo možné vybrat soubor k editaci ?

<?php
 $soubory = array();
 $cesta = dir("data/");
  if(!IsSet($_GET["soubor"]))
  {
  while ($soubor=$cesta->read())
    {
    $soubory[] = $soubor;
    if ($soubor != "." && $soubor != "..")
    {
    $i++;
    $soubor = ereg_replace(".txt","","$soubor");
    echo "<form action='' method='get'>
          <input type='submit' name='$i' value='$soubor' id='odkaz'> <br />
          <input type='hidden' name='soubor' value='$soubor'>
          </form>";
    }
    }
  }
  if (IsSet($_GET["soubor"]))
  {
  $pom = ereg_replace("#","",$_GET["soubor"]);
  include("clanky/" . $pom . ".txt");
  }

    if($_POST['edit']) {
       $filename = $_POST['file'];
       $handle = fopen($filename, "r");
       $contents = fread($handle, filesize($filename));

       echo "<form method=\"post\" action=\"index.php?area=edit\">
                   <strong>$filename</strong><br>
                   <input type=\"hidden\" name=\"file\" value=\"$filename\">
                   <textarea name=\"content\" cols=\"60\" rows=\"20\">".$contents."</textarea><br>
                   <input type=\"submit\" name=\"update\" value=\"Update\">
                </form>";

       fclose($handle);

    } elseif($_POST['update']) {
       $filename = $_POST['file'];

       if(is_writable($filename)) {
          $handle = fopen($filename, "w+");
          fwrite($handle, $_POST['content']);
          fclose($handle);

          echo "File: <strong>". $filename . "</strong> edited successfully.<br><a href=\"$PHP_SELF\">Edit More Files</a>";
       } else {
          echo "Error! <strong>". $filename . "</strong> File may not be writable.";
       }
    } else {
       echo "<form method=\"post\" action=\"$PHP_SELF\">
                   File: <input type=\"text\" name=\"file\"><br>
                   <input type=\"submit\" name=\"edit\" value=\"Edit\">
                </form>";

    }

    ?>
 
Odpovědět
24.10.2013 19:58
Avatar
Odpovídá na
Neaktivní uživatel:24.10.2013 21:24

Nechtělo se mi ten zdroják číst celý, jde to jednoduše takto:

$adresar = opendir(".");
while ($soubor = readdir($adresar))
{echo ('<a href="uprav.php?soubor=' . $soubor . '">' . $soubor . '</a><br>'}

Netestoval jsem to, pak napiš jestli to funguje.

Nahoru Odpovědět
24.10.2013 21:24
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na
David Hartinger:24.10.2013 21:54

Ten kód je příšerný, nebezpečný a používáš v něm funkce, které v novém PHP už ani neexistují.

Nahoru Odpovědět
24.10.2013 21:54
New kid back on the block with a R.I.P
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.