勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

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

      2014/07/03

独自タグは##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, 画像

  関連記事

PHPの配列をファイルに保存してPHPやJSで呼び出す

PHPの配列をファイルとして保存し、別のページからPHPやJavaScriptで ...

他サーバーにある画像をPHPで取得して保存する方法

他サーバーにある画像をURLで指定して、PHPで取得して保存する方法のメモ。 フ ...

エラー管理

<? /*エラー管理*/ //画面上にエラー表示させるかどうか。0⇒非表示 ...

MySQLiでDELETE文

MySQLiでDELETE文 ■ソース $mysqli = new mysqli ...

eval関数について

ちょくちょく見ることがあったeval関数について、 なんとなく分かってきたのでメ ...

isset等、変数を調べる際の注意点

$strがNULLだったり0だったり空文字だったりする場合で、 if($str) ...

PHPでランダムな値を取得するケース諸々

テストデータを作成する際に、ランダムな値を入れたかったけど、 色々ケースがあった ...

PHPでのファイル関係

ファイルを呼び出したり書き込んだりとかしばしば行うが、 未だに調べることが多いの ...

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

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

PHPのセッションでログイン、ログアウトの管理。あとセッションが保存されない場合の対処。

セッションはほとんど使ったことがなく、 色々つまづいたのでメモ。 やりたかった事 ...