imagepng返回null并且不在服务器上保存文件

时间:2017-01-30 14:48:50

标签: php laravel image-processing

我有一个奇怪的问题,希望你能帮助我。 我正在开发一个Laravel项目并且具有通过以下方式减少图像大小的功能:imagepng - 在本地副本上它工作得很好但在服务器上,图像不会保存到文件夹(0755权限) 。 这是功能:

public function imageReduce($file, $fullname, $unique){

    $image = imagecreatefromstring(file_get_contents($_SERVER['DOCUMENT_ROOT']."/".$fullname));
    $imageName = "/pics/reduced/$unique-$file.png";
    $fullPath = $_SERVER['DOCUMENT_ROOT']."/".$imageName;
    imagepng($image, $fullPath, 9);
    $path['path'] = $_SERVER['HTTP_HOST'].$imageName;
    return $path;
}

我不知道从哪里开始寻找,因为如上所述 - 它在本地工作正常。

谢谢!

1 个答案:

答案 0 :(得分:0)

看看$ fullpath。你有一个尾随'/'但$ imageName也有一个前导'/'。 连接时,最终结果是$ fullpath中的双重“//”。

另外 - 为了帮助您调试,为什么不打开错误?

error_reporting(E_ALL);
ini_set('display_errors', 1);