みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

投稿日時 - 2010-07-04 08:08:37

QNo.6014033

すぐに回答ほしいです

質問者が選んだベストアンサー

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

投稿日時 - 2010-07-04 18:34:35

補足

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

投稿日時 - 2010-07-04 20:12:00

お礼

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

投稿日時 - 2010-07-04 20:41:40

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問