包含目录中的文件并通过下拉列表加载到textarea中

时间:2016-08-31 15:46:48

标签: javascript php jquery html

尝试重新加载创建回textarea的文件以进行重新编辑。

需要扩展Saving file into new directory using fwrite

提出的问题

我试图使用来自的信息  Drop Down Select File And Include It into Same Page没有成功。

我可以将my / temp目录中列出的文件放到下拉列表中,但无法弄清楚如何将它们重新加载到文本区域。

这是我完整的PHP页面:

<?php

    function saveFile($filename,$filecontent){
        if (strlen($filename)>0){
            $folderPath = 'temp';
            if (!file_exists($folderPath)) {
                mkdir($folderPath);
            }
            $file = @fopen($folderPath . DIRECTORY_SEPARATOR . $filename,"w");
            if ($file != false){
                fwrite($file,$filecontent);
                fclose($file);
                return 1;
            }
            return -2;
        }
        return -1;
    }

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
   <title>Save File Test</title>

   <link href="style/style.css" rel="stylesheet" type="text/css" />

</head>
<body>
    <div id="main">
          <div class="caption">Save File & Edit Test</div>


          <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain" id="domain">
            <table width="100%">
              <tr><td>File Name to Create: <input class="text" name="filename" type="text" size="40" value="test.ini" /></td></tr>
              <tr><td><br/>File Content: <textarea class="text" name="filecontent" rows="15" cols="146"></textarea></td></tr>
              <tr><td align="center"><br/><input class="text" type="submit" name="submitBtn" value="Save File" /></td></tr>
            </table>  
          </form>

            <?php    
                if (isset($_POST['submitBtn'])){
                    $filename    = (isset($_POST['filename']))    ? $_POST['filename']    : '' ;
                    $filecontent = (isset($_POST['filecontent'])) ? $_POST['filecontent'] : '' ;
            ?>
              <div class="caption"></div>

         <div id="result">
            <table width="100%">

                <?php
                        if (saveFile($filename,$filecontent) == 1){
                            echo "<tr><td><br/>File was saved!<br/><br/></td></tr>";
                        } else if (saveFile($filename,$filecontent) == -2){
                            echo "<tr><td><br/>An error occured, most likely cause is file writing permissions!<br/><br/></td></tr>";
                        }
                ?>

            </table>
         </div>
        <?php } ?>


        <!-- My Dropdown Box at Bottom of Page -->

        <br/>
        Temp Folder Contents Load Into Textarea:
        <br />
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain" id="domain">
        <select name="select" onChange="document.domain.submit()">
              <option value="" selected="selected">-----</option>
          <?php 
               foreach(glob(dirname(__FILE__) . '/temp/*') as $filename){
               $filename = basename($filename);
               echo "<option value='" . $filename . "'>".$filename."</option>";
                }
            ?>
        </select>
        </form>


    </div>
</body>
</html>

由于使用/ temp目录中的多个文件,因此应将它们自动填充到下拉列表中。

根本不确定“foreach(glob(dirname( FILE )。'/ temp / ')为$ filename)”。唯一可以获取目录列表内容的方法是添加星号/

如果可能的话,喜欢使用纯PHP(带有少量的javascript)。学校防火墙对jquery感到兴奋,但很乐意以任何方式工作。

不一定是下拉列表,只是看起来最简单,空间最少。

预先感谢您的帮助,需要完成学校项目。

0 个答案:

没有答案