ループ処理された中でfile_existsによる画像サイズが取得できません

このQ&Aのポイント
  • ループ処理された中でfile_existsによる画像サイズが取得できません。
  • ループ処理された中でfile_existsによる画像サイズが取得できない問題について、解決方法をアドバイスしてください。
  • ループ処理された中でfile_existsによる画像サイズの取得がうまくいかない問題について、どのように解決すれば良いか教えてください。
回答を見る
  • ベストアンサー

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

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

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

midorin_h
質問者

お礼

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

midorin_h
質問者

補足

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

関連するQ&A

  • Perlで画像のサイズ取得する方法

    URL指定で画像サイズの取得が出来ません。 何方かご教授お願いします。 悲しいことにレンタルサーバーにはimage::magickがインストールされていないので使えません。 ----perl---- #!/usr/bin/perl $FileName = "http://i.yimg.jp/images/main11.gif"; ( $format, $width, $height ) = &GetImageSize( $FileName ); print "Content-type: text/html\n\n"; print <<"HTML"; <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <BR> $width x $height <br> <IMG src="$FileName" border="0"> HTML sub GetImageSize{ my ( $IMG, $in ) = @_; my ( %SHT, %LNG ); my ( $buf, $mark, $type, $f_size, $width, $height ); my ( $TAG, $TYPE, $COUNT, $V_OFFSET, $PK, $ENTRY, $Exif_IFD ); my ( $endian, $dummy1, $dummy2, $dummy, $EOI, $APP1, $length, $exif ); my ( $format, $offset, $line, $CODE, $jfif ); my @TGA; my $ntag; # 定数 $mark = pack("C", 0xff); %SHT = ( 'II' => 'v', 'MM' => 'n' ); %LNG = ( 'II' => 'V', 'MM' => 'N' ); # 初期値 $endian = ''; $width = -1; $height = -1; $format = ''; $Exif_IFD = -1; if( $in eq '' ){ $in = 'IMG'; } open( $in, $IMG ) || return( '', -1, -1 ); binmode($in); seek( $in, 0, 0 ); read( $in, $buf, 6 ); # GIF 形式 if($buf =~ /^GIF/i){ $format = 'GIF'; read( $in, $buf, 2 ); $width = unpack("v*", $buf); read( $in, $buf, 2); $height = unpack("v*", $buf); } close( $in ); return( $format, $width, $height ); } exit;

    • ベストアンサー
    • Perl
  • 画像を縦に並べたら隙間ができることについて

    画像を縦に並べたところ隙間ができてしまいます。 隙間無くくっつけたいのですがどうすればいいのでしょうか。 以下htmlです。 <img src="img/nakama_img01.gif" width="687" height="227" alt="画像1" /><br /> <img src="img/nakama_img02.gif" width="687" height="197" alt="画像2" /><br /> <img src="img/nakama_img03.gif" width="687" height="244" alt="画像3" /> <br />で改行せずくっつけてタグを並べても同じ結果でした。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • ウィンドウサイズを取得して、phpで使いたい

    フォルダ内の画像を配列にして、imgタグを書き出すように、phpを書きました。 imgタグでwidth、heightを指定することで無理やり縮小させて表示し、 ライトボックスを使って元のサイズで開くようにしています。 できればああしたいこうしたい、というのはたくさんあるのですが、 とりあえず、 画像がウィンドウサイズより大きいときはライトボックスを使わないようにしたいのです。 javascriptでこのように、ウィンドウサイズを得ることはできました。 var winw = document.body.clientWidth; var winh = document.body.clientHeight; たとえば、$window_wにwinwを代入し、 このようなことをしたいのですが、なにか方法がないでしょうか。 $imgは、画像のパスがずらずら並んだ配列です。 $widthは画像サイズ、 $thumbは縮小させたいサイズで、別に定義しています。 ~前略~ if ($width>$window_w){ print "<a href=\"$img[i]\"><img src=\"~~.jpg\" width=\"$thumb\"></a>"; } ~後略~

    • ベストアンサー
    • PHP
  • jqueryでdata-の画像サイズの取得方法

    通常の場合、 <img src="hoge.png" /> $("img").on("load",function(){ var w = $(this).width(); var h = $(this).height(); $(this).css({"width":w +"px", "height":h +"px"}); }); でサイズは取得できますが、 <img src="hoge.png" data-src="hoge2.png" /> の場合でhoge2.pngの画像サイズを取得する方法を探しています。 分かる方がいらしたら教えてください。 よろしくお願いします。

  • 画像処理プログラム

    以下の問題でプログラムを改良したのですが合っていますか?間違ってたら教えてください 図3 は、画像中の全ての画素に対する、濃度値の頻度分布を示すヒストグラムの例である。サンプルプロググラムhistogram.c をもとに、入力画像の濃度値のヒストグラムを作成するプログラムを完成させる。 1. Histogram.c をそのまま実行すると、ダミーデータを用いた結果画像が出力される。 $ gcc □ Histogram.c -o □ Histogram ↓ $ ./Histogram ○○○.pgm □ Histogram.pgm ↓ 2. Histogram.c を次のように変更し、プログラムを完成させる。 (a)入力画像のヒストグラムを求める。 各画素を参照し、その画素値img[i][j] に対応する番号の配列histogram[0255] の値を1 増やす。 (b)頻度の最大値を求める。 濃度値i=0255 について調べ、もし頻度histogram[i] の値がそれまでの最大値max frequency より大きければ、最大値max frequency を更新する。 (c)ヒストグラム画像を作成する。 最大頻度を1 としたときの割合(histogram[i]/max frequency)を求め、それに画像の大きさH_height を掛けることで各濃度値のグラフの長さlength を求める。 length = H height * histogram[i] / max frequency #include <stdio.h> #include <stdlib.h> #define V_width 320 #define V_height 240 #define amp 1.0 #define GLEVEL 256 /* 最大階調 */ #define MAX_BRIGHTNESS 255 #define H_width GLEVEL #define H_height 256 int d[9]; int i, j, dat; float z, zz; unsigned char img [V_height][V_width]; /* input image */ unsigned char work[H_height][H_width]={0}; /* work space */ long int histogram[GLEVEL]={0}; /* ヒストグラム */ long int max_frequency=0; /* 頻度の最大値 */ float length; /* 頻度を表すグラフの長さ */ int main(int argc, char* argv[]) { FILE *fpi, *fpo; unsigned char data; char str[ 256]; int width, height; /* check arg number */ if (argc != 3) { fprintf(stderr, "Usage: %s [input] [output]\n", argv[0]); exit(1); } /* open input file */ if ((fpi = fopen(argv[1], "rb")) == NULL) { fprintf(stderr, "input file open error!\n"); exit(1); } /* open output file */ if ((fpo = fopen(argv[2], "wb")) == NULL) { fprintf(stderr, "output file open error!\n"); exit(1); } /* read PGM header */ while(1){ fgets(str, 256, fpi); if(str[0] == '#'){ fprintf( stderr, "%s", str); } else if( !strncmp( str, "P5", 2)){ fprintf( stderr, "This file is a PGM file.\n"); } else if( !strncmp( str, "255", 3)){ fprintf( stderr, "The file is opened.\n"); break; } else{ sscanf( str, "%d %d", &width, &height); fprintf( stderr, "SIZE: %3d x %3d\n", width, height); } } /* read data */ for (i=0; i<height; i++) { for (j=0; j<width; j++) { fread( &data, 1, 1, fpi); img[i][j] = data; } } /* (a) 入力画像のヒストグラムを求める */ for(i=0; i<height; i++){ for(j=0; j<width; j++){ // histogram([i][j])++; } } /* (b) 頻度の最大値を求める */ for ( i=0; i<GLEVEL; i++) { // if (histogram[i]>max_frequency) max_frequency = histogram[i]; } /* (c) ヒストグラム画像を作成する */ for (j=0; j<H_width; j++) { length = (float) H_height * j / H_width; //仮のデータ for (i=0; i<length; i++) { work[H_height-1-i][j] = MAX_BRIGHTNESS; length = H_height * histogram[i] / max_frequency } } /* write data */ fprintf(fpo,"P5\n %d %d\n 255\n", H_width, H_height); for (i= 0; i<H_height; i++) { for (j= 0; j<H_width; j++) { fwrite( &work[i][j], 1, 1, fpo); } } fclose(fpi); fclose(fpo); return 0; }

  • 画像のサイズが変わらない

    画像のサイズを指定したいんですが、反映されません。以下の文がその反映されないタグです。 <a href="http://www.phantom.bz/wmv/george/takumi.wmv"><img src="user_img/011125_14.jpg"border="0">"</a><width="150"height="250> jpgのサイズを指定したいんですが、何か間違っているところがありますか?

    • ベストアンサー
    • HTML
  • Dreamweaverで画像サイズ修正

    imgタグにwidthとheightを記述すると、imgのサイズに変更がかかった時に、 新しい画像をフォルダにUPするだけでなく、ソースにも変更を加えなくてはなりません。 imgサイズとソース上のサイズが違うものを検索・修正かけられるようなDreamweaverの機能or技を教えていただければと思い、質問させて頂きます。 何卒宜しくお願い致します。

  • HTMLタグ

    画像にもありますが、取り扱い商品・液晶モニタ・パソコンパーツなどの横に横2列縦3列のテーブル、その横に縦5列横1列のテーブルを付けたいのですが、どうしてもわかりません。 わかる方居ましたらお願いします。 現在こんな感じです <p><font color="#f70006">&nbsp;&nbsp; <strong>他には無いアイテムがここにはあります</strong> </font> <br> <img style="WIDTH: 983px; HEIGHT: 102px" border="0" alt="" src="素材/top.png" width="1000" height="118"><br> <img border="0" alt="" src="素材/home.png" width="200" height="73"><img border="0" alt="" src="素材/商品一覧.png" width="200" height="73"><img border="0" alt="" src="素材/輸入.png" width="200" height="73"><img border="0" alt="" src="素材/買付.png" width="200" height="73"><img style="WIDTH: 169px; HEIGHT: 73px" border="0" alt="" src="素材/問合.png" width="170" height="73"><br> <br> <br> <br><img border="0" alt="" src="素材/取り扱い.png" width="164" height="49"><br> <img border="0" alt="" src="素材/液晶.png" width="164" height="49"><br> <img border="0" alt="" src="素材/apareru.png" width="164" height="49"><br> <img border="0" alt="" src="素材/pasokon.png" width="164" height="49"><br> <img border="0" alt="" src="素材/周辺機器.png" width="164" height="49"><br> <img border="0" alt="" src="素材/マルチメディア.png" width="164" height="49"><br> <img border="0" alt="" src="素材/自動車.png" width="164" height="49"><br> <br> <br> <br> <img border="0" alt="" src="素材/サポート.png" width="166" height="63"><br> <img border="0" alt="" src="素材/輸入について.png" width="166" height="63"><br> <img border="0" alt="" src="素材/お問い合わせ.png" width="166" height="63"><br> <img border="0" alt="" src="素材/会社概要.png" width="166" height="63"> </p> 他にいい作り方など、オススメ等ありましたら何でもお願いします

  • $_FIILESで受け取った画像を、すぐに表示するには?

    お忙しい中お読み頂きありがとうございます。 下記の様に、$_FILESで受け取った画像データを、 すぐに<IMG>タグで表示できないのでしょうか? 同じページで反映したいのですが、上手くいきません。 どんなアドバイスでも構いませんので、ご教授お願い致します。 $name = $_FILES['userfile']['name']; $tmp_name = $_FILES['userfile']['tmp_name']; list($width, $height) = @getimagesize($tmp_name); <IMG src="$name" width="$width" heigth="$height">

    • ベストアンサー
    • PHP
  • ▲▲マウスオンで画像を変更について▲▲

    <span onmouseout="changeimg.src='h1.bmp'" onmouseover="changeimg.src='h2.bmp'"> <img src="h1.bmp" width="188" height="43" border="0" name="changeimg"> </span> このタグを使っています。適切かどうかはわからないのですが^^ この他のタグでもかまいません、複数画像が変わるものを1つのページに表示させたいと思っています。 何か良いタグはないでしょうか?

    • ベストアンサー
    • HTML

専門家に質問してみよう