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);
ではエラーも出ず、情報が取得できます。
上記のようになる理由がわかりません。
どなたかご教授ください。
>getimagesize(../data/upload_img/F1000005.JPG )
初めのケースでは「../data」となっていますが、後のケースでは「data/」となっています。
これでは相対パスが指している位置が違うので、そのあたりが原因では無いのでしょうか?
それは質問での記入ミスです。
こちらも詳しく書くなら、../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>";
でバイト数を確認してみて下さい。
これでした。
タブ区切りのデータから取り出したデータに半角空白のゴミがついていました。
データの後には改行が入っているだけなのですが、素人にはなぜ?という感じでした。
すっきりしました。これで寝られます。
ありがとうございました。
もしかして、取得した文字列データに空白行が含まれているのではないでしょうか。
getimagesize(trim($変数A));
とした場合でも、同じようにエラーが出ますか?
上の方と同じですね。
その通りでした。
当然使っておりません。
詳しく書くならば$mes_part[5]です。fget()で1行得たものを区切り文字で分けた6番目です。