fwrite在php中无法在二进制模式下工作

fwrite在php中无法在二进制模式下工作,php,Php,我是一个.net的家伙,有一个代码可以在我们的一台服务器上运行,但在另一台服务器上却无法运行,甚至在我的本地机器上也无法运行。下面给出了代码片段: //$flocal1 = fopen($MVfile_name.".txt", "w"); //@fwrite($flocal1, "my name is gaurav pandey!!!"); //opening file $flocal = fopen($MVfile_name, $mode); //写入文件 if (!(@fwrite($fl

我是一个.net的家伙,有一个代码可以在我们的一台服务器上运行,但在另一台服务器上却无法运行,甚至在我的本地机器上也无法运行。下面给出了代码片段:

//$flocal1 = fopen($MVfile_name.".txt", "w");
//@fwrite($flocal1, "my name is gaurav pandey!!!");
//opening file
$flocal = fopen($MVfile_name, $mode);
//写入文件

if (!(@fwrite($flocal, $contents))) 
{
//如果写入操作失败,则写入错误

  exit(NotUpload);

}
//关闭文件 fclose($flocal)


正如我们所看到的,我尝试了使用字符串编写文本文件的相同代码,效果很好,但是对于二进制文件,我得到了错误。

如果您在Windows服务器上,请使用b标志打开

fopen($filename, 'wb');

这应该已经由PHP根据手册进行了设置,但可能您在一台旧服务器上,情况并非如此。

但这段代码如何在其他一些机器上正常工作?我无法理解。您的问题没有包含足够的信息,无法在此提供帮助。文件另存为哪个字符集?您如何知道$flocal是正确的值?你想做什么?事实上,我正在使用一个网络摄像头录像机,它将值发布到我的php文件中,文件流的类型是.mp4$flocal可能是正确的值,因为文件是第一次在这里创建的,并且文件流正在写入其中。