700.000 个字符)保存到服务器上的一个文件中。 $file = fopen($filename, 'w+'); fwrite($file, $c-6ren">
gpt4 book ai didi

PHP:使用 fopen() 创建文件导致字符串中的 "cryptic"值,重复现有文件的工作

转载 作者:搜寻专家 更新时间:2023-10-31 22:02:30 26 4
gpt4 key购买 nike

我正在尝试使用 fopen() 将一个长字符串(>700.000 个字符)保存到服务器上的一个文件中。

$file = fopen($filename, 'w+');
fwrite($file, $content);
fclose($file);
echo $content;

但不知何故,这只会在文件已经存在时产生正确的文件内容。如果该文件不存在,它是用“神秘”内容创建的,这对我来说没有任何意义。(虽然 $content 的回显显示正确的值)

文件前几个字符的示例:

‹­W_oÛ6N€}VÃШ,Ë©“8µ téþ´ÈÖ¬ÍÐm/%ž$Ö4©‘”tè7Û۾؎”

当我重新加载脚本时,文件已经存在并且内容被正确写入并像以前一样正确回显。

这也有效,当我通过 FTP 自己创建文件时(无论它之前有什么内容,我也试过“Hello”)。只要文件已经存在,一切都很好。

还有一个很奇怪的事实是,如果我插入一个 var_dump 来查看 $content 在特定点的值,文件中写入的内容是正确的,但回显返回“神秘”字符串。var_dump 似乎总是有正确的值。

我已经尝试使用几乎所有不同的 fopen() 模式,例如 'wb'、'wb+'、'wt'、'wt+'、'xt' 等。我检查了路径、权限并整夜搜索谷歌。没有成功。

这把我吓坏了,因为我看不出哪里出了问题或错过了检查什么。

我希望你能帮助我。

非常感谢!

最佳答案

也许使用 utf8_encode()

$content = utf8_encode("text dsdasasd"); 
$file = fopen($filename, 'w+');
fwrite($file, $content);
fclose($file);
echo $content;

关于PHP:使用 fopen() 创建文件导致字符串中的 "cryptic"值,重复现有文件的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25971771/

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