保存到服务器时fwrite重复文件

时间:2015-07-17 23:18:18

标签: php ajax

我试图使用fwrite将数据保存到文件中,问题是它正在创建具有相同文件名的第二个文件,并且数据将保存到第二个文件而不是原始文件。

它适用于Windows localhost,Apache 2.4.10,PHP 5.6(无第二个文件),但不适用于运行Linux和PHP 5.4.42的实时服务器。

edit.php

$(document).ready(function() {  
    var pageName = "<?php echo $pageName; ?> "; 
    $('#save').click(function(e) {  
     e.preventDefault();
       var content = $('#content').html(); 
            $.ajax({
                  type: 'POST',
                  url: 'includes/readInput.php',
                 data: {
                      content: content,
                      pageName: pageName,
                     }
                    }).done(
                        function(data){   
                       }
                  );
          });             
     });

readInput.php.
// Receive post variable s from "admin/ edit.php"
$content = $_POST['content'];
$pageName = $_POST['pageName'];
$dirPath= "../content/";
file_put_contents($dirPath.$pageName,$content);

1 个答案:

答案 0 :(得分:0)

如果您使用&#34; a&#34;打开存储数据的文件。从append flag开始,这将导致在文件内容的末尾写入:

$file = fopen($filename, 'a');
fwrite($file, 'new content');

然后,您的文件将与旧内容一起存储,并且&#34;新内容&#34;结束。