エラーメッセージの説明
PHP はファイル配列とともに適当なエラーコードを返します。
エラーコードは、PHP によるファイルアップロードの間に生成され、
ファイル配列の['error'] 要素で
アクセス可能です。言い換えると、エラーは、
$_FILES['userfile']['error'] でアクセス可能でしょう。
-
UPLOAD_ERR_OK
-
値: 0; エラーはなく、ファイルアップロードは成功しています。
-
UPLOAD_ERR_INI_SIZE
-
値: 1; アップロードされたファイルは、php.ini の
upload_max_filesize
ディレクティブの値を超えています。
-
UPLOAD_ERR_FORM_SIZE
-
値: 2; アップロードされたファイルは、HTML フォームで指定された
MAX_FILE_SIZE を超えています。
-
UPLOAD_ERR_PARTIAL
-
値: 3; アップロードされたファイルは一部のみしかアップロードされていません。
-
UPLOAD_ERR_NO_FILE
-
値: 4; ファイルはアップロードされませんでした。
-
UPLOAD_ERR_NO_TMP_DIR
-
値: 6; テンポラリフォルダがありません。
-
UPLOAD_ERR_CANT_WRITE
-
値: 7; ディスクへの書き込みに失敗しました。
-
UPLOAD_ERR_EXTENSION
-
値: 8; PHP の拡張モジュールがファイルのアップロードを中止しました。
どの拡張モジュールがファイルアップロードを中止させたのかを突き止めることはできません。
読み込まれている拡張モジュールの一覧を phpinfo で取得すれば参考になるでしょう。