背景
我已经使用ACE(https://ace.c9.io/)和PHP(fopen和fwrite)创建了一个在线代码编辑器。在我的本地开发机上,代码已正确保存到文件中,带有缩进和空行,与编辑器中编写的完全相同。但是在我的活动服务器上,缩进和空行被删除了。
我对此感到非常困惑,因为代码完全相同!
示例
此:
<div>
<div>
// stuff here
</div>
</div>
保存后将成为我的开发人员
<div>
<div>
// stuff here
</div>
</div>
这在实时服务器上:
<div>
<div>
// stuff here
</div>
</div>
代码
该请求来自javascript AJAX调用,其内容来自ACE编辑器:
saveFile = function() {
var contents = editor.getSession().getValue();
$.post("/save",{filename: "{{ $filename }}", contents: contents },
function(data) {
// add error checking
alert("Saved!");
}
);
};
然后发送到PHP:
$handle = fopen($file, 'w') or die('Cannot open file: '.$file);
fwrite($handle, $request->data('content'));
任何线索都表明两个服务器上的结果如何不同?
编辑
经过更多调试后,我注意到文件已正确存储。因此必须在我读取文件并将其在ACE编辑器中输出时。
我正用file_get_contents()
来读取文件。但我似乎找不到任何有关删除任何内容的信息。