imagecreatefromstring

文字列の中のイメージストリームから新規イメージを作成する

説明

GdImagefalse imagecreatefromstring(string $data)

imagecreatefromstring は、指定した data から 得られたイメージを表すイメージ ID を返します。もし、PHP が JPEG, PNG, GIF, BMP, WBMP, GD2, WEBP, AVIF をサポートするようビルドされている場合、 イメージの種類は自動的に判別されます。

パラメータ

data

画像データを含む文字列。

戻り値

成功時にはイメージオブジェクトが返されます。 イメージの種類がサポートされていない、データのフォーマットが識別できない、 イメージが壊れておりリロードできないなどの場合は false が返されます。

エラー / 例外

認識できない書式のデータを受け取った場合に、 imagecreatefromstring は E_WARNING レベルのエラーを発行します。

変更履歴

バージョン 説明
8.0.0 成功時には、この関数は GDImage クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 resource を返していました。
7.3.0 WEBP がサポートされました。 (但し、使っている libgd がサポートしている場合に限ります)

例1 imagecreatefromstring の例

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
    header('Content-Type: image/png');
    imagepng($im);
    imagedestroy($im);
}
else {
    echo 'エラーが発生しました。';
}
?>

上の例の出力は、 たとえば以下のようになります。

出力例 : imagecreatefromstring()

参考

  • imagecreatefromjpeg
  • imagecreatefrompng
  • imagecreatefromgif
  • imagecreatetruecolor