如何正确使用php函数文件\u get\u内容?

如何正确使用php函数文件\u get\u内容?,php,javascript,jquery,file-get-contents,str-replace,Php,Javascript,Jquery,File Get Contents,Str Replace,简而言之,我正在将页面加载到浏览器中,并将div id=content元素的内容捕获到名为“contentOrig”的变量中。加载基于Javascript的编辑器,用户可以修改div id=content的内容。新编辑将保存到名为“content”的变量中。当用户单击保存图标时,会发出ajax请求,contentOrig和content变量都作为HTML传递给save.php 在save.php文件中,函数file_get_contents在编辑原始文件之前打开原始文件(位于同一服务器实例的不同

简而言之,我正在将页面加载到浏览器中,并将div id=content元素的内容捕获到名为“contentOrig”的变量中。加载基于Javascript的编辑器,用户可以修改div id=content的内容。新编辑将保存到名为“content”的变量中。当用户单击保存图标时,会发出ajax请求,contentOrigcontent变量都作为HTML传递给save.php

在save.php文件中,函数file_get_contents在编辑原始文件之前打开原始文件(位于同一服务器实例的不同目录中),并将文件内容作为字符串保存到php变量($handle)中。然后,使用$contentOrig作为搜索字符串,使用$dataNew作为替换字符串,对$handle执行字符串替换函数str_ireplace()。然后,结果应另存为$contentSave

下面是我请求和接收ajax调用的代码文件。str_replace()似乎不起作用,$contentSave变量也没有被创建。
有什么想法吗

$(document).ready(function() {
var contentOrig = jQuery.data(content, 'contentOrig', $('#content').html());
alert(contentOrig);
var file_path = $(location).attr('pathname');

bkLib.onDomLoaded(function() {
var myNicEditor =
    new nicEditor({fullpanel : true, onSave : function(content, id, instance) {
$.ajax({
    type : 'POST',
    url : 'https://mydomain.com/admin/save.php',
    data: {"data": content, "filePath" : file_path, "contentOrig" : contentOrig},
    dataType: "html", 
    success: function(data){ 
        alert('Are you sure you want to save this content?');}
      });
} }).panelInstance('content');

});

});
save.php文件:


试一试


您是否尝试过$fileName=str\u ireplace(“\admin\”,$site\u path,$pagePath)


我坐在离你两排远的地方,伙计,你应该走过去。

也许是因为
\u服务器
?只要
console.log(data)
,您就会看到PHP端发生了什么,即使我注释掉设置$admin\u site\u user的那行代码,它仍然不起作用。我知道$contentSave的字符串值作为$dataNew字符串值中的字符串存在。。。我只是不知道为什么它没有被找到。字符串值包含HTML标记这一事实可能是一个问题吗?谢谢您的评论。这没有什么区别,数据是通过ajax调用成功传递的。似乎stru_ireplace没有发生,我将查看正在传递的两个变量的数据类型。
<?php

    $site_path = "../publicSite/";
    $admin_site_user = _SERVER["REMOTE_USER"];
    **$dataNew** = $_POST['data'];
    $pagePath = $_POST['filePath']; 
    **$contentOrig** = $_POST['contentOrig'];
    $fileName = str_ireplace("/admin/", $site_path, $pagePath);

    $handle = file_get_contents($fileName);
    $handle2 = fopen($fileName, 'w+');
    **$contentSave = str_ireplace($contentOrig, $dataNew, $handle);**
    $logHandle = fopen('testsave.html','w');

    if($handle2) {
    if (!fwrite($handle2, $contentSave));
    fclose($handle2);
    }
data: {"data": content, "filePath" : file_path, "contentOrig" : contentOrig},
data: {data: content, filePath : file_path, contentOrig : contentOrig},