Image php file_get_contents函数在我的新Web服务器中保存无效的图像文件

Image php file_get_contents函数在我的新Web服务器中保存无效的图像文件,image,webserver,file-get-contents,corrupt,Image,Webserver,File Get Contents,Corrupt,我开发了一个wordpress插件,它使用file\u get\u contents()从远程url检索图像,并使用fwrite函数将其保存在本地文件夹中。图像文件保存在本地文件夹中,以便以后可以引用 这在一个Web服务器1中运行良好。但是,当我在wordpress中安装插件并在另一个新的WebServer2中维护时,该文件在本地文件夹中创建,但似乎已损坏。该文件是为小于100kb的图像正确创建的,但在以前的Web服务器1中正确创建的较大文件在服务器2中检索和创建时会损坏 下面是我用来检索图像并

我开发了一个wordpress插件,它使用
file\u get\u contents()
从远程url检索图像,并使用fwrite函数将其保存在本地文件夹中。图像文件保存在本地文件夹中,以便以后可以引用

这在一个Web服务器1中运行良好。但是,当我在wordpress中安装插件并在另一个新的WebServer2中维护时,该文件在本地文件夹中创建,但似乎已损坏。该文件是为小于100kb的图像正确创建的,但在以前的Web服务器1中正确创建的较大文件在服务器2中检索和创建时会损坏

下面是我用来检索图像并保存到本地文件夹的代码:

//$imgurl = url of the image file and $upload_path 
// is path where image will be stored

$file = file_get_contents($imgurl) or die('File too large or inacessible');
$myFile = $upload_path . "\internal\folder\structure\\" . $file_name;
$fh = fopen($myFile, 'w') or die("Error");
$fwrite = fwrite($fh, $file);

if($fwrite === false)
{
    echo "error";
}
else
{
    echo "file has been created ".$file_name;
}

fclose($fh);

在服务器1中,这可以正常工作,但在服务器2中,该文件已创建,但无法打开,因为它已损坏。我想这可能与服务器2的php配置有关,但我不是很确定,因此我期待您的帮助。

可能有几个原因

  • 由server2上的某些内容生成的PHP错误

  • 函数前的一些输出,如换行符或空格


  • 阅读提示

    检查服务器2上此功能之前是否有输出内容