Перепишите файл с помощью PHP, используя форму HTML - PullRequest
0 голосов
/ 23 марта 2012

Итак, я работаю над небольшим php-файлом, который должен изменить определенный файл для пользователя. Он получает содержимое файла и помещает его в текстовое поле в форме. Как я могу сделать так, чтобы любые изменения, сделанные в этой текстовой области, были перезаписаны в файл на сервере? И что еще лучше, смогу ли я позволить пользователю редактировать только определенные строки и переписать только эти строки?

Вот мой код:

<?php
$filename = "../tree_c/index.php";
//$fp = fopen ($filename, "w"); <- doesn't seem to work for it opens empty file.
$contents = file_get_contents($filename);
/*
if (isset($_POST['field'])) {
    // something here to rewrite the file.
*/
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <textarea name="field"><?php echo $contents ?></textarea>
    <input type="submit" value="Save">
</form>

Ответы [ 2 ]

1 голос
/ 23 марта 2012
        $datafile = "Files.txt";
        $fp = fopen($datafile, "r");
        $textdata= fgets($fp, 1024);
        $text = '"'.$textdata.'"';
        $this->set('text',$text);
        if(!empty($this->data))
        {
           $datas = $this->data['data']['text'];  //(your Textarea name)
           $myFile = "Files.txt";
           $fh = fopen($myFile, 'w') or die("can't open file");
           fwrite($fh, $datas);
           fclose($fh);
        }

надеюсь, это поможет вам ....

1 голос
/ 23 марта 2012

Это должно работать довольно легко:

if (isset($_POST['field'])) {
  file_put_contents($filename, $_POST['field']);
}
...