株式会社ネーブルス 社長のブログ

社長のブログ

株式会社ネーブルス 代表取締役 福田一成のブログです。アメーバブログはこちら

やっとひとつできた。

ホームページ制作担当スタッフの方から

新商品用の動的ページの制作依頼が来ていたが

本日やっと完成。


あ。PHPの話ですよ。


最後のファイルのアップロードの部分が時間かかりました。

<input type="file" ・・・・>の

nameを配列にしたかった。


どういう事か、・・・。

form内の入力オブジェクトを全て配列にしたんです。


<input type="text" name="objname[address]"・・・>

<textarea name="objname[note]">・・・</textarea>

<select name="objname[type]">・・・</select>


$_REQUESTの結果は下記のようになります。

objname => array( address => ・・・, note => ・・・, type => ・・・)


上記の様に、しなきゃいいじゃんと言う意味不明な

ツッコミは入れないで下さいね。

そういう仕様にしなければならなかったので。


ところが、下記のようにすると配列変数が崩れてしまいます。


<input type="file" name="objname[image]・・・>


$_FILESの結果は、下記のようになるんです。


objname => array( name => array( image => ・・・)

            type => array( image => ・・・)

tmp_name => array( image => ・・・)

・・・・)


これは、ファイルの複数のアップロードの仕様による

弊害と思われます。


複数アップロードするためのタグは、以下の様になります。


<input type="file" name="objname[]・・・>

<input type="file" name="objname[]・・・>

<input type="file" name="objname[]・・・>


つまり、objname[]をobjname[image]と書いても

複数アップロードの仕様で処理されてしまいます。


objname[image][]にすればと思われたでしょうが、

より面倒な事になります。もう一つ最後に

数値のキーが付くだけでした。


結果的に複数アップロードの仕様を考慮に入れた

作りになりましたが、配列が思う通りの順番ではない事を

頭に入れておかないと後の修正の時に再度、はまりますね。


まあ、でも、完成品はナカナカの作りになりました。

とりあえず自分でも満足です。


まだ、頼まれているものがあるから

継続的に作らねばいけないのですが。

一区切り。

PC画面

● 開発費用のオンライン見積り、お問い合わせはこちらから

システム開発費用の概算を、オンライン上でご提示いたします。(所要時間:3分/無料)
お問い合せする事なく、費用感をお確かめいただけます。お気軽にご利用ください。
↓↓↓

システム開発費用のオンライン見積はこちら システム開発のご相談はお気軽にご連絡ください