- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
700.000 个字符)保存到服务器上的一个文件中。 $file = fopen($filename, 'w+'); fwrite($file, $c-6ren">
我正在尝试使用 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/
我是一名优秀的程序员,十分优秀!