Ну как было сказано @Barman я думаю PHP 5.6 это более строгий в использовании функции getimagesize(). Я заработал, создав временное изображение, вставив его в документ pdf, а затем удалив его.
$image = $this->input->post('image');
$dataURI = $image;
$dataPieces = explode(',',$dataURI);
$encodedImg = $dataPieces[1];
$decodedImg = base64_decode($encodedImg);
// Check if image was properly decoded
if($decodedImg!==false)
{
// Save image to a temporary location
if(file_put_contents(TEMPIMGLOC,$decodedImg)!==false)
{
$pdf->AddPage("L");
$pdf->centreImage(TEMPIMGLOC);
// Delete image from server
unlink(TEMPIMGLOC);
}
}
Излишне сказал centreImage его пользовательские функции внутри моего класса в формате PDF, который только центрирует изображение в новой странице.
Спасибо всем за отзывы и информацию, я буду рыть больше в документации, потому что это не для меня ясно, как она работает в PHP 5.3
Просто, чтобы сделать его более ясным, здесь были основные функции, где getimagesize () не работает.
function resizeToFit($imgFilename) {
list($width, $height) = getimagesize($imgFilename);
$widthScale = self::MAX_WIDTH/$width;
$heightScale = self::MAX_HEIGHT/$height;
$scale = min($widthScale, $heightScale);
return array(
round($this->pixelsToMM($scale * $width)),
round($this->pixelsToMM($scale * $height))
);
}
function centreImage($img) {
list($width, $height) = $this->resizeToFit($img);
// you will probably want to swap the width/height
// around depending on the page's orientation
$this->Image(
$img, (self::A4_HEIGHT - $width)/2,
(self::A4_WIDTH - $height)/2,
$width,
$height
);
}
Аргумент 'getimagesize' должен быть именем файла, а не содержимым. – Barmar
Дело в том, что он работал ранее в старой версии php. Я не хотел сохранять изображение, которое появилось из этой строки base64, так как я просто его поймал, и я положил его в pdf-документ, используя TCPDF. –
предоставить более подробный код –