ループ処理された中でfile_existsによる画像サイズが取得できま
ループ処理された中でfile_existsによる画像サイズが取得できません。
ループlist関数で変数代入しDisp_Img_Tag_02関数へ引数を渡した場合に引数側へ変数は渡っていることは確認しているのですが、問題解決に至りません。コードの問題指摘と解決方法をアドバイスください。
ログファイル/ 1,ばなな,黄色いくだものです,1278105473-01.jpg
<?php
$logfile = "./db.csv"; //ログデータ
$array_log = file($logfile);
for($i=0; $i<count($array_log); $i++){
list($code,$text_01,$area_01,$img_01_Filename) = split(",", $array_log[$i]);
echo Disp_Img_Tag_02("1278105473-01.jpg")."<br>"; //(1)直接ファイルを指定
echo Disp_Img_Tag_02("$img_01_Filename")."<br>"; //(2)***ここが問題です。
}
echo "<br><br>";
$img_01_Filename = "1278105473-01.jpg";
echo Disp_Img_Tag_02("1278105473-01.jpg")."<br>"; //確認用OK
echo Disp_Img_Tag_02("$img_01_Filename")."<br>"; //確認用OK
function Disp_Img_Tag_02($img_name, $type) {
$path = realpath( "." )."/img/"; //アップロード画像パス
$up_dir = '/img/'; //画像リンク先パス
$w_admin_max = 30; //管理用サイズ
$h_admin_max = 30;
$w_user_max = 100; //ユーザー用サイズ
$h_user_max = 100;
$img_tag = "";
if($img_name && file_exists("$path$img_name")){
list($width, $height, $dummy01, $dummy02 ) = getimagesize("$path$img_name");
if($width > $w_admin_max || $height > $h_admin_max){
$w_rate = $w_admin_max / $width;
$h_rate = $h_admin_max / $height;
($w_rate < $h_rate) ? $key = $w_rate : $key = $h_rate;
$width = (int) $width * $key;
$height = (int) $height * $key;
$img_tag = $img_tag."<a href=.$up_dir$img_name target=_blank><img src=.$up_dir$img_name width=" . $width . " height=" . $height . " border=0></a>\n";
}else{
$img_tag = $img_tag."<img src=.$up_dir/$img_name border=0>\n";
}
$img_tag = $img_tag."<input type=hidden name=fname01 value=\"$img_name\"><input type=checkbox name=fname01_del value=1>削除\n";
$img_tag = $img_tag." 上書:<input type=file name=upfile01 size=15>\n";
}else{
$img_tag = $img_tag."登録 <input type=file name=upfile01 size=20> 確認用ファイル名 $img_name\n";
}
return $img_tag;
}
?>
お礼
解決したようです。 ありがとうございました。