我正在使用CodeIgniter开发一个项目。当我尝试从远程服务器下载图像时,我得到了以下错误:
ERROR:
Message: file_put_contents(): supplied resource is not a valid stream resource
导致错误的代码:
$newImg = resizeImageFrontDimensions($uploadData, UPLOAD_DEFAULT_IMGTHUMB50, UPLOAD_DEFAULT_IMGTHUMB50);
$imageWhiteFilled = addImageWhiteSpaces(UPLOAD_DEFAULT_IMGTHUMB50, $fileType, DIR_SCREENS . $newImg);
file_put_contents(DIR_SCREENS, $imageWhiteFilled);
在addImageWhiteSpaces中:
function addImageWhiteSpaces($imageSize, $fileType, $fileName)
{
switch($fileType)
{
case DEFAULT_IMAGE_FILETYPE_PNG:
$image1 = imagecreatefrompng($fileName);
break;
case DEFAULT_IMAGE_FILETYPE_JPG:
$image1 = imagecreatefromjpeg($fileName);
break;
case DEFAULT_IMAGE_FILETYPE_JPEG:
$image1 = imagecreatefromjpeg($fileName);
break;
case DEFAULT_IMAGE_FILETYPE_GIF:
$image1 = imagecreatefromgif($fileName);
break;
}
$image1_x = imagesx($image1);
$image1_y = imagesy($image1);
if($image1_x > 500 && $image1_y > 500)
return $fileName;
else
{
switch ($imageSize)
{
case UPLOAD_DEFAULT_IMGTHUMB50:
$image_bg = imagecreatefrompng(PATH_MEDIA_IMG . 'white_bg_50.png');
break;
case UPLOAD_DEFAULT_IMGTHUMB74:
$image_bg = imagecreatefrompng(PATH_MEDIA_IMG . 'white_bg_74.png');
break;
case UPLOAD_DEFAULT_IMGTHUMB114:
$image_bg = imagecreatefrompng(PATH_MEDIA_IMG . 'white_bg_114.png');
break;
case UPLOAD_DEFAULT_IMGTHUMB300:
$image_bg = imagecreatefrompng(PATH_MEDIA_IMG . 'white_bg_300.png');
break;
case UPLOAD_DEFAULT_IMGTHUMB500:
$image_bg = imagecreatefrompng(PATH_MEDIA_IMG . 'white_bg_500.png');
break;
}
$image_bg_x = imagesx($image_bg);
$image_bg_y = imagesy($image_bg);
$imageStart_x = 0;
$imageStart_y = 0;
if($image_bg_y > $image1_y)
$imageStart_y = ($image_bg_y - $image1_y) / 2;
if($image_bg_x > $image1_x)
$imageStart_x = ($image_bg_x - $image1_x) / 2;
imagecopy($image_bg, $image1, $imageStart_x, $imageStart_y, 0, 0, $image1_x, $image1_y);
// Output the image.
// header("Content-type: image/png");
// imagejpeg($image_bg);
return $image_bg;
}
虽然我收到此错误,但正在下载图像。但是因为它给出了上面的错误,我下载图像并且不能继续其余的代码。任何可能的解决方案或原因都是我的保险库。非常感谢。
答案 0 :(得分:0)
由于您使用的是codeigniter,这个怎么样?
http://codeigniter.com/user_guide/libraries/file_uploading.html
http://codeigniter.com/user_guide/libraries/image_lib.html
为什么要对您正在使用的框架提供的内容进行硬编码?