アプリ版:「スタンプのみでお礼する」機能のリリースについて

ループ処理された中で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;
}
?>

A 回答 (1件)

[quote cite="

http://jp.php.net/manual/ja/function.file.php"]
ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。[b]改行記号はついたままとなります。[/b] 失敗すると file() は FALSE を返します。
[quote]

この回答への補足

申し訳ありませんが、まだ、理解できてなく、具体的にはどうのようにしたらよいか、もう少し詳しく教えていただけないでしょうか?

補足日時:2010/07/04 20:12
    • good
    • 0
この回答へのお礼

申し訳ありません。自己解決しました。マニュアルをよく読破しないと駄目ですね。
最後の変数には改行コードが付加されてFALSEだったんですね!
ありがとうございます。また、何かありましたらお願いします。

お礼日時:2010/07/04 20:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!