勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

独自タグからタグへの変換function

   2024/01/12  PHP

独自タグは##IMG1##みたいな感じ。

画像ファイル名は「ファイルパス/seq_独自タグの数字.拡張子」になる。

例)aaa/bbb/ccc/image/12_1.png

■image.php

<?php

//画像用変数
$exts = array(
1=>".jpg",
2=>".png",
3=>".gif");
$image_tags = array(
1=>"##IMG1##",
2=>"##IMG2##"
);
$file_path = 'aaa/bbb/ccc/images'; //ファイルパス
$image_limit = 2; //画像のアップ枚数上限

//独自タグ⇒imgタグ変更用function
function Image_change($file_path, $exts, $seq_check, $image_limit, $body_check, $image_tags) {
for($i=1; $i<=$image_limit; $i++){ //独自タグの回数分ループをまわす
$image_check = $file_path . '/' . $seq_check . '_' . $i; //画像パスの拡張子より前の部分を$image_checkに代入
if(strpos($body_check,$image_tags[$i]) !== false){ //独自タグがあった場合
for($x=1; $x<=3; $x++){ //jpg or png or gifの選択
$image_check2 = $image_check . $exts[$x]; //ファイルパスを完全に指定
if (file_exists($image_check2)){ //ファイルバスが存在した場合
echo $image_tags[$i] .'->'. $image_check2.'<br>';
$body_check = str_replace($image_tags[$i], "<img src='./images/{$seq_check}_{$i}${exts[$x]}'>" ,$body_check);
}
}
}
}
return $body_check;
}

■index.php

$sql = "
SELECT *
FROM image_test;
";
$row = mysql_query($sql) or die('error2');
while($rs = mysql_fetch_array($row)) {
$d_seq = $rs['seq'];
$seq_check = $rs['seq'];
$d_name
= $rs['is_name'];
$body_check = $rs['is_body'];
$d_body[] = Image_change($file_path, $exts, $seq_check, $image_limit, $body_check, $image_tags);
}

 - PHP

  関連記事

フォルダにリンク制限をかける

imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズ

PHPで縦横どちらかが指定の長さを超えた場合、 比率を保ったままリサイズしたかっ ...

PHPで画像のサイズや拡張子等、詳細情報を取得

PHPで画像のサイズや拡張子等、詳細情報を取得する際 いつもググってしまっていた ...

smart_resize_imageで縦横の比率関係なく、固定リサイズ

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...

PHPで画像を上下反転させ保存する

やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...