【问题标题】:Array from file - edit - write to file来自文件的数组 - 编辑 - 写入文件
【发布时间】:2021-07-21 07:02:51
【问题描述】:

我有一个带有数组的 php 文件。 这是一个语言文件。

de.lang.php

<?php
$lang['one'] = "one";
$lang['two'] = "two";
$lang['three'] = "three";
?>

lang_func.php

include(de.lang.php);

输出.html

<input type="text" name="lang_key" value="$key"/>
<input type="text" name="lang_val" value="$val"/>

Screenshot of output.html (left:key, right:value)

接下来我想发布表单并将更改推送到文件中。 这是 php 中将更改发布到发生更改的文件的最佳替代方法。

提前致谢

【问题讨论】:

  • 欢迎来到 Stack Overflow。我建议阅读how to ask,以便更好地了解您提出问题时的预期。目前,这太广泛了,无法得到直接的答案。您是否尝试过写回文件?你遇到问题了吗?如果是这样,请说明您的尝试在何处以及如何失败。
  • 不要在代码中使用“智能引号”。
  • file_put_contents("filename", implode("\n", $lang));
  • @Barmar 该代码将丢失键并仅输出值列表。
  • @TangentiallyPerpendicular 实际上,我以为他在谈论从文件中读取的行数组,我不应该使用变量$lang$line[0] = '$lang[‘one’] = “one”;

标签: php html arrays forms fwrite


【解决方案1】:

您的问题并不清楚,但我假设您使用include() 或相关语句来读取您的语言文件,结构如下:

语言.php

<?php 
$lang = [
    'one'=>'one',
    'two'=>'two'
];

myProgram.php

include('language.php`);
// rest of code

在这种情况下,您可以使用var_export() 导出$lang 数组

$languageFile = "<?php\n".var_export($lang, true);
file_put_contents('filename', $languageFile);

注意:如果文件仅包含 PHP 代码,则不需要尾随 ?&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    相关资源
    最近更新 更多