NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

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.