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

解決済みの質問

files関数配列取得について

Notice: Undefined index: in /var/www/html/intern/sr/add.php on line 72

Warning: array_keys(): The first argument should be an array in /var/www/html/intern/sr/add.php on line 72

Notice: Undefined index: in /var/www/html/intern/sr/add.php on line 73

Warning: array_values(): The argument should be an array in /var/www/html/intern/sr/add.php on line 73


上記のようなエラーが発生します。

ソースは以下の通りです。

やりたいことはpostから送られてきたfileを連想配列?
として取得することです



$file_key = array_keys($_FILES["$jisseki_img"]);
$file_val = array_values($_FILES["$jisseki_img"]);
for ($i = 0; $i < count($file_key); $i++) {
$$file_key[$i] = mb_convert_encoding($file_val[$i], "EUC-JP", $enc_input);
}

投稿日時 - 2009-02-24 13:43:25

QNo.4745009

すぐに回答ほしいです

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

素直にエラーメッセージを読めば何がおかしいのかは分かるのでは?
>> Notice: Undefined index:
配列のインデックスが未定義ですといっています。
"$jisseki_img" をキーにした配列が無いのが原因です

>> Warning: array_keys(): The first argument should be an array
array_keys関数の引数は配列でなければならないのですが、
前のNoticeより、$_FILES["$jisseki_img"]が無いので引数が配列では無くヌルになっているためです

>> Notice: Undefined index
>> Warning: array_values(): The argument should be an array
上記も同様です。

つまり、正しい名前でファイルがアップロードされていないか、あるいは、$jisseki_img に正しい値が設定されていないということです。
開示されている範囲ではここまでしか判断できませんが、
アップロード側と $jisseki_imgに正しい値が入っているかチェックしましょう。

投稿日時 - 2009-02-24 22:11:08

ANo.2

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

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

回答(2)

ANo.1

foreachで処理してみては?

投稿日時 - 2009-02-24 14:48:05

補足

ごめんなさい。
初心者なのでforeachの使い方がわからず、for文でやろうと考えています。

もし、参考になるサイトなどがありましたら、それを見ながらやります。

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

投稿日時 - 2009-02-24 15:03:48