Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我可以用PHP将最多370个字符从字符串保存到文件中?_Php_String_File_Summernote_Php 7.2 - Fatal编程技术网

为什么我可以用PHP将最多370个字符从字符串保存到文件中?

为什么我可以用PHP将最多370个字符从字符串保存到文件中?,php,string,file,summernote,php-7.2,Php,String,File,Summernote,Php 7.2,我在将一些字符串保存到.txt文件时遇到一些问题。 我在客户端表单上有一个textarea,它与一起使用,我将表单与POST一起发送到我的服务器,服务器收到了它,我知道文本有多长并不重要,因为我打印了它。但是,当我想将其保存到.txt文件时,我只能保存369-370个字符!如果存在的内容超过PHP则忽略它,并且不保存任何内容。我就是这样保存它的: fwrite($file, iconv('utf-8','ISO-8859-2',$text."\r\n")); 更新 我使用以下命令打开文件: $

我在将一些字符串保存到
.txt
文件时遇到一些问题。 我在客户端表单上有一个
textarea
,它与一起使用,我将表单与
POST
一起发送到我的服务器,服务器收到了它,我知道文本有多长并不重要,因为我打印了它。但是,当我想将其保存到
.txt
文件时,我只能保存369-370个字符!如果存在的内容超过
PHP
则忽略它,并且不保存任何内容。我就是这样保存它的:

fwrite($file, iconv('utf-8','ISO-8859-2',$text."\r\n"));
更新 我使用以下命令打开文件:

$file = fopen("file.txt","a") or die ('<h1 class="dangermsg"> <i class="fa fa-exclamation-triangle"></i>Error msg!</h1>');
$file=fopen(“file.txt”,“a”)或die('Error msg!');

如何保存更多字符,或者如何解决此问题?

在处理文本编码时,通常通过将
b
添加到您的模式以二进制模式打开文件更安全,因此在这种情况下,使用
ab
而不是
a

根据文件:

如果在处理二进制文件时未指定“b”标志,则数据可能会遇到奇怪的问题,包括损坏的图像文件和\r\n字符的奇怪问题

为了便于移植,强烈建议您在使用fopen()打开文件时始终使用“b”标志

强烈建议您重新编写使用或依赖“t”模式的代码,以便它使用正确的行尾和“b”模式


也可以使用
PHP\u EOL
常量而不是
\r\n
,这样可以实现跨操作系统的功能。

您是在Windows还是Linux上运行PHP,您使用的
fopen
是什么模式?@lufc I使用
append
打开它,根据托管提供程序信息,我正在通过UNIX套接字使用
Localhost
。您确定
iconv()
没有因为非法字符而截断文件吗?您是否尝试过在不使用iconv()的情况下将
$text
写入文件?您还应该使用
PHP\u EOL
而不是
\r\n
@lufc,而不使用
iconv()
我遇到了一些奇怪的编码问题,但仅此而已,大小问题仍然存在。
\r\n
将更改,感谢您的警告。请尝试使用模式
ab
进行二进制追加。