(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
imagecreatefromstring — 文字列の中のイメージストリームから新規イメージを作成する
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 'エラーが発生しました。';
}
?>上の例の出力は、 たとえば以下のようになります。