1

iOS アプリからファイルを受け取る次の PHP コードがあります。

情報が受信され、デバッグ用に$file設定され、すべての形式のコンテンツが含まれています。渡される元の値はbtn-7.pngand$file[0] = btn-7です。

関数が処理され、フォルダーにあるすべての画像がシステムにコピーされます....したがって、このエラーが発生する理由がわかりません。

エラーは、関数で使用可能な最初の行に表示されます。$_FILES[$file]

なぜこれが起こっているのか誰にも分かりますか?

編集:私が言ったように。$file をエコーできるので、var_dump を実行する必要はありません。また、iOS コンソールから debbugin を実行しても、JSON 以外の結果は表示されません。実際のエラー メッセージを知るには、PHP ログのみに依存しています。

EDIT2: 要求どおり `var_dump(); (私は Web ブラウザーではなく、XCode、iOS 開発コンソールから作業しています)

ob_start();

            var_dump($file);
            $e = ob_get_contents();
            ob_end_clean();
            error_log($e, 0);

結果

[06-Jun-2013 17:58:26 UTC] string(9) "btn-7.png"`

エラー

[06-Jun-2013 17:24:45 UTC] PHP Notice:  Undefined offset: 0 in C:\xampp\htdocs\igym\classes\shareexercise.php on line 146

PHP

private function storeFile( $file )
        {
            $file = explode('.',$file);
            $file = $file[0];
            $msg['asd'] = $file;
            echo json_encode($msg);

            if( $_FILES[$file]["type"] !== "image/png" && $_FILES[$file]["size"] < 2048600 )
            {
                $error['error'] = 'There was a problem uploading your picture';
                echo json_encode($error);
                return 0;
            }

            if( move_uploaded_file( $_FILES[$file]['tmp_name'], IMGUPLOADDIR . '/' . $this->userID . '/' . $_FILES[$file]['name'] ) ) {
                return true;
            } else{
                //$error['error'] = 'There was a problem uploading your picture';
                //echo json_encode($error);
                return false;
            }

        }
4

1 に答える 1