2

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

这在一个网络服务器 1 中运行良好。但是当我在另一个新的网络服务器 2 中维护的 wordpress 中安装插件时,该文件在本地文件夹中创建,但似乎已损坏。我猜该文件是为小于 100kb 的图像正确创建的,但是在以前的网络服务器 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 配置有关,但我不太确定,所以我期待您的帮助。

4

1 回答 1

0

可能有几个原因

  1. 由 server2 上的某些东西生成的 PHP 错误

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

阅读http://php.net/manual/en/function.file-get-contents.php以获得提示

于 2012-10-16T13:05:50.243 回答