PHP:POST--如何替换文件中 ARRAY 中定义的 KEY

发布于 2024-10-18 06:57:59 字数 835 浏览 0 评论 0原文

我有点迷失,因为我是 PHP 的“新手”。

请教我如何解决这个问题:

在“POST”上 -->替换文件中指定的数组键:(

错误:)

<?php
    $newData = $_POST["sendData"]; 

    if(isset($_POST['sendData'])){

        $file = fopen('fileToOpen.php', 'a');

        foreach($file as $key => $val) 
        {
            $data[$key] = explode("|", $val);
        }

        for($k = 0; $k < sizeof($file); $k++)
        {
            unset($data[$k][3]);
        }

        $data[$k][3] = "$newData";
        fwrite($file, $data[$k][3]);
        fclose ($file);

    }
?>

这是错误的,因为它继续写入:

data1|data2|data3|oldDatanewData

而不是重写:

data1|data2|data3|newData< /strong>

还有其他技术可以实现类似的效果吗?也许使用file_put_contents?我错过了内爆吗?

谢谢!

I'm a bit lost for I'm "green" in PHP.

Please, may you teach me how to fix this:

on 'POST' --> Replace a specified array key from a file:

(WRONG:)

<?php
    $newData = $_POST["sendData"]; 

    if(isset($_POST['sendData'])){

        $file = fopen('fileToOpen.php', 'a');

        foreach($file as $key => $val) 
        {
            $data[$key] = explode("|", $val);
        }

        for($k = 0; $k < sizeof($file); $k++)
        {
            unset($data[$k][3]);
        }

        $data[$k][3] = "$newData";
        fwrite($file, $data[$k][3]);
        fclose ($file);

    }
?>

That's wrong as it continues to write:

data1|data2|data3|oldDatanewData

instead of rewrite:

data1|data2|data3|newData

Is there any other technique to achieve something similar? Perhaps with file_put_contents? Am I missing implode?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

紧拥背影 2024-10-25 06:58:00

不知道你要什么,但也许你只需要序列化和反序列化数组。

$data_array = unserialize(file_get_contents('fileToOpen.php'));
$data_array[$key_you_want_to_change] = $new_data;
file_put_contents('fileToOpen.php', serialize($data_array));

Dunno what are you asking for but perhaps you only need to serialize and unserialize the array.

$data_array = unserialize(file_get_contents('fileToOpen.php'));
$data_array[$key_you_want_to_change] = $new_data;
file_put_contents('fileToOpen.php', serialize($data_array));
陌路黄昏 2024-10-25 06:58:00

$newData = $_POST['sendData'];

 if(isset($_POST['sendData'])){

 $file = "fileToOpen.php";

$oldData = file_get_contents($file);

$oldData = eregi_replace("\n","",$oldData);

$FullDataArray = 爆炸("?",$oldData);
$oldDataArray = 爆炸("|",$FullDataArray[1]);

$oldDataArray[3] = $newData;

$newDataString .= "

foreach($oldDataArray as $key=>$val) {

$newDataString .= $val;

if($key!="3") {

$newDataString .= "|";
;

$

fh = fopen($file, 'w')

fwrite($fh,$newDataString);

fclose($fh);

}

?>

$newData = $_POST['sendData'];

 if(isset($_POST['sendData'])){

 $file = "fileToOpen.php";

$oldData = file_get_contents($file);

$oldData = eregi_replace("\n","",$oldData);

$FullDataArray = explode("?",$oldData);
$oldDataArray = explode("|",$FullDataArray[1]);

$oldDataArray[3] = $newData;

$newDataString .= "

foreach($oldDataArray as $key=>$val) {

$newDataString .= $val;

if($key!="3") {

$newDataString .= "|";
}

}

$fh = fopen($file, 'w');

fwrite($fh,$newDataString);

fclose($fh);

}

?>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文