如何在使用php使用jquery编辑文件后保存文件

How to save file after it had been edited with jquery using php?

本文关键字:jquery 编辑文件 保存文件 使用 php      更新时间:2024-01-14

这里我创建了一个jquery函数,它获取css颜色并创建具有css颜色背景的元素:编辑我的jsFiddle

html

<div ID="wrapper">
    <div ID="addColor">
        <input type="text" ID="hex">
        <div ID="color">Your color</div>
        <button ID="add">Add color</button>
    <div CLASS="clear"></div> <!-- Clear float -->
    </div>
    <div ID="wrapGallery">
        <h1>My Color Gallery</h1>
        <ul ID="gallery"></ul>
    </div>
</div>

js/jquery

$(function() {
    //float left with some margin
    $('#addColor')
        .children().not('#add, .clear').css({
        'float':'left',
        'margin-right': '5px'
        });
    //Showing color on keyup
    $('#hex').keyup(function() {
       var hexCode = $(this).val();
       $('#color').css('background-color', hexCode);
        if ( hexCode !== '') {
            $('#color').text('');
        }else{
            $('#color').text('Your color');
        }
    });
    //Adding colors
    $gallery = $('#gallery');
    $('#add').click(function() {
        var storedHex = $('#hex').val();
        //check if empty
        if (storedHex == '') {
            alert('Enter something');        
        }
        else {
        //adding li
        $("<li>").css('background-color', storedHex)
                .hover(
                  function () {
                    $(this).text(storedHex);
                  }, 
                  function () {
                    $(this).text('');
                  })                    
                 .appendTo($gallery); 
        }
    });
});

我唯一需要做的就是将创建的元素永久保存在文件中,这样我就可以随时访问。我不知道该怎么做。

Javascript(在浏览器中)目前不可能像您想要的那样编辑/保存文件。但是,您可以使用.ajax()将数据发送回PHP文件,以便PHP文件可以使用file_put_contents()保存数据(尽管它通常会将数据保存在数据库中)。

阅读JQueryAjax函数,并了解JSON对象。

使用AJAX和JQuery,您可以很容易地将JSON对象发送到服务器,如下所示:

function saveElements(myJsonObj) {
  $.ajax({
    method: "POST",
    dataType: "json",
    url: "path/to/savemyobject.php",
    data: {json:myJsonObj}
  });
}

JSON文件可能看起来像这样:

{ "myData":
  {
    "some_text":"this could be the CSS code",
    "name":"some name",
    "number":"some number"
  }
}

您可以生成一个表示JSON对象的JSON字符串,并使用Ajax函数将其发送到PHP文件(如上所述)。

在PHP中,您可以这样做来获得对象:

<?php
$json_string = $_POST["json"]; //the same variable key we sent it in
$json_obj = json_decode($json_string, true);
// get data
$myDataCode = $json_obj["myData"]["some_text"];
// do some processing
...
?>

您还可以使用PHP JSON_encode函数将PHP中的数组转换为JSON对象。

阅读更多:
http://www.w3schools.com/json/default.asp
http://php.net/manual/en/function.json-decode.php
http://php.net/manual/en/function.json-encode.php
http://api.jquery.com/jQuery.ajax/