首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP : POST--如何替换文件中数组中定义的键

PHP : POST--如何替换文件中数组中定义的键
EN

Stack Overflow用户
提问于 2011-02-16 22:05:19
回答 2查看 338关注 0票数 0

我有点迷失了,因为我在PHP中“绿色”。

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

在“POST”

(错:)

代码语言:javascript
复制
<?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

还有其他技术来实现类似的目标吗?也许和file_put_contents在一起?我是不是错过了implode

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-16 22:42:31

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

代码语言:javascript
复制
$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));
票数 2
EN

Stack Overflow用户

发布于 2011-02-16 22:56:39

$newData =$POST的‘sendData’;

代码语言:javascript
复制
 if(isset($_POST['sendData'])){

 $file = "fileToOpen.php";

$oldData = file_get_contents($file);

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

$FullDataArray =爆发(“?”,$oldData);$oldDataArray =爆发(“x”,$FullDataArray1);

$oldDataArray3 = $newData;

$newDataString .=“

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

$newDataString .= $val;

if($key!="3") {

[中英文摘要] $newDataString .=“x”;

}

}

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

fwrite($fh,$newDataString);

fclose($fh);

}

?>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5022700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档