gpt4 book ai didi

javascript - PHP:使用编辑的行更新 JS 文件

转载 作者:行者123 更新时间:2023-12-03 04:29:04 25 4
gpt4 key购买 nike

我有以下 AngularJS 文件,名为

productFactory.js

包含产品列表及其详细信息,我想更新其中 1 个产品。

"use strict"; 

var productFactory = angular.module('productFactory', []);

productFactory.factory('productFactory', function () {

var productFactory = {};

productFactory.products = [
{
productId: 1,
name: "Product1",
category: "Urban",
desc: "Lorem Ipsum",
image: "placeholder1.png;placeholder2.png;placeholder3.png",
price: 30,
qty: 6,
variation: ""
},
{
productId: 2,
name: "Product2",
category: "Street Wear",
desc: "Lorem Ipsum",
image: "placeholder1.png;placeholder2.png;placeholder3.png",
price: 40,
qty: 10,
variation: "6,7,8,9,10,11,12"
}
];

return productFactory;
});

在 PHP 中,我可以运行此脚本来写入文件

<?php
$script="SOME_CONTENT";
$fileName="productFactory.js";
file_put_contents($fileName, $script);
?>

如何通过“productId”仅更新其中一个产品?

最佳答案

最好的方法是将产品存储在某个数据库中(它可以是 productFactory.products 变量中的简单 JSON 文件。

如果它们存储在 JSON 中,您可以在 PHP 中加载该文件,使用 json_decode($str); 将其解析为一个对象,然后在该对象中编辑您想要的内容,然后就可以了使用 (json_encode($obj);) 将其转换回 JSON 字符串。

如果你将它们存储在像 MySQL 这样的数据库中,我认为 PHP 处理会更简单(只需为给定的产品 ID 调用 UPDATE 查询)。

处理编辑请求的 PHP 示例:

$path = "/path/to/products.json";
$data = file_get_contents($path);
$json = json_decode($string);

foreach ($json as & $product) {
// process only correct product
if ($product->productId !== $_POST['productId']) {
continue;
}

foreach ($_POST as $key => & $value) {
// here should be some data validation probably
if (isset($product[$key]) {
$product[$key] = $value;
}
}
}

$newData = json_encode($json);
file_put_contents($path, $newData);

关于javascript - PHP:使用编辑的行更新 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43569921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com