人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで、前回の質問のつづきです。
print($変数A);
では
data/upload_img/F1000005.JPG と表示されます。

getimagesize($変数A);
getimagesize(strval($変数));
getimagesize((string)$変数A);
でも
エラーメッセージ「Warning: getimagesize(../data/upload_img/F1000005.JPG ) [function.getimagesize]: failed to open stream: Invalid argument in C:\Program Files\Apache Group\Apache2\htdocs\kannondaiko\board\board.php on line 73」がでます。

ですが、
$変数Aに直接以下のように「data/upload_img/F1000005.JPG」とすると、
$変数A = 'data/upload_img/F1000005.JPG';
getimagesize($変数A);
ではエラーも出ず、情報が取得できます。

上記のようになる理由がわかりません。
どなたかご教授ください。

●質問者: AKI-NAMI
●カテゴリ:ウェブ制作
✍キーワード:.jpg Apache D.P GROUP ON
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● pahoo
●10ポイント

前回は1回しか回答が許されていなかったので確認ができなかったのですが、本当に「$変数A」という日本語を使っているということはありませんよね?

念のため、参考サイトを掲げます。

◎質問者からの返答

当然使っておりません。

詳しく書くならば$mes_part[5]です。fget()で1行得たものを区切り文字で分けた6番目です。


2 ● YOSIZO
●10ポイント

>getimagesize(../data/upload_img/F1000005.JPG )

初めのケースでは「../data」となっていますが、後のケースでは「data/」となっています。

これでは相対パスが指している位置が違うので、そのあたりが原因では無いのでしょうか?



http://q.hatena.ne.jp/

◎質問者からの返答

それは質問での記入ミスです。

こちらも詳しく書くなら、../data/upload_img/F1000005.JPGです。


3 ● tobeoscontinue
●100ポイント
(../data/upload_img/F1000005.JPG )

とJPGの後にゴミがついているように思います。


getimagesize(chop($変数A));

ではどうでしょう。

私のphpでは後ろに\nや\rを付加すると

failed to open stream: No such file or directory

と違うメッセージなのでゴミぢゃないかも。

http://okwave.jp/qa4258452.html

echo strlen($変数A).":($変数A)<br>";

でバイト数を確認してみて下さい。

◎質問者からの返答

これでした。

タブ区切りのデータから取り出したデータに半角空白のゴミがついていました。

データの後には改行が入っているだけなのですが、素人にはなぜ?という感じでした。

すっきりしました。これで寝られます。

ありがとうございました。


4 ● hard
●75ポイント

もしかして、取得した文字列データに空白行が含まれているのではないでしょうか。

getimagesize(trim($変数A));

とした場合でも、同じようにエラーが出ますか?

http://php.benscom.com/manual/ja/function.trim.php

◎質問者からの返答

上の方と同じですね。

その通りでした。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ