1

ユーザーがファイルを選択したかどうかをテストしたいので、$_FILES['input_name']['name']null でないかどうかをテストしました。

PHP関数を使用しましたis_null($_FILES['input_name']['name'])が、コードはファイルが選択されたと思われるステートメントに移動します!

そこで、テストを に置き換えました$_FILES['input_name']['name'] != ""

では、なぜis_null$_FILES['name'] で正確でないのでしょうか?

4

5 に答える 5

3

Is_null は '' (空の文字列) と同じではありません。

これは、値を var_dumping するときに簡単に確認できます。

于 2012-09-18T07:03:06.230 に答える
3

null は "" と同じではないことを忘れないでください。

"" は空の文字列を表し、null は初期化されていない文字列を表すことができます。

于 2012-09-18T07:02:43.607 に答える
2

$_FILES 配列が NULL 値の配列として初期化されていないことを意味します。empty()代わりに使用する必要があると思います

http://php.net/manual/en/function.empty.php

于 2012-09-18T07:04:49.707 に答える
1

is_null(var) は、var が null の場合は TRUE を返し、それ以外の場合は FALSE を返します。

if(is_null($_FILES['input_name']['name'])){
 block of code;//file name is null
}
于 2012-09-18T07:36:57.417 に答える
0

empty()代わりに関数を使用してみてください== ""

于 2012-09-18T07:09:47.567 に答える