Я использую ApacheBench для тестирования модуля загрузки изображений PHP. Дело в том, что когда я выгружаю $_FILES["my_file"]
, я вижу, что временный файл, хранящийся в PHP, не является файлом изображения, это файл base64 (текстовый/обычный). Разве PHP не должен хранить этот файл как файл изображения, учитывая, что запрос POST
сообщает ему, что тип содержимого загруженного файла — image/jpeg
? Или PHP ведет себя так, как ожидалось, и моя работа заключается в обработке двоичных данных внутри $_FILES["my_file"]["tmp_name"]
?
Вот как я бегаю:
$>ab -v 4 -n 10 -c 2 -p /home/post_data.txt -T "multipart/form-data;\
boundary=1234567890" http://localhost/image_upload
Вот содержимое /home/post_data.txt:
--1234567890
Content-Disposition: form-data; name="token"
Content-Type: text/plain
1
--1234567890
Content-Disposition: form-data; name="text"
Content-Type: text/plain
Testing
--1234567890
Content-Disposition: form-data; name="status"
Content-Type: text/plain
1
--1234567890
Content-Disposition: form-data; name="uploaded_file"; filename="my_image.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary
[[base64 image data]]
--1234567890--
[Обратите внимание, что я пытался удалить "Content-Type: text/plain"
, но, похоже, это не имеет значения]
Спасибо!