Ужасно, да, но это работает и переносимо.
#define ARRAYSIZE(arr) ((sizeof(arr) != sizeof(&arr[0])) ? \
(sizeof(arr)/sizeof(*arr)) : \
-1+0*fprintf(stderr, "\n\n** pointer in ARRAYSIZE at line %d !! **\n\n", __LINE__))
Это не обнаружит ничего во время компиляции, но выведет сообщение об ошибке в stderr
и вернет -1
, если это указатель или , если длина массива равна 1.
==> DEMO & lt; ==
Аое. Вы не создаете форму или POST с несколькими частями, вы просто вставляете необработанный JSON в тело POST. PHP не расшифрует это и поэтому не будет заполнять Аое. Вы не создаете форму или POST с несколькими частями, вы просто вставляете необработанный JSON в тело POST. PHP не расшифрует это и поэтому не будет заполнять [111] чем-либо. Необработанное тело POST будет доступно в специальном потоке Если вы хотите, чтобы PHP обрабатывал Исходя из запроса, вы захотите выяснить, как заставить ваш JavaScript сделать правильный
чем-либо. php://input
, и его можно поймать и декодировать следующим образом: $rawPost = file_get_contents('php://input');
$decodedPost = json_decode($rawPost);
$image = $decodedPost->image;
multipart/form-data
POST. В качестве бонуса, вы можете просто загрузить изображение как есть, не используя его, что сэкономит вам 25% от размера вашего запроса, и PHP запишет его в временный файл вместо памяти.
Необработанное тело POST будет доступно в специальном потоке php://input
, и его можно поймать и декодировать следующим образом:
Если вы хотите, чтобы PHP обрабатывал Исходя из запроса, вы захотите выяснить, как заставить ваш JavaScript сделать правильный multipart/form-data
POST. В качестве бонуса, вы можете просто загрузить изображение как есть, не используя его, что сэкономит вам 25% от размера вашего запроса, и PHP запишет его в временный файл вместо памяти.