это то, что я имею в process.php(CURL, PHP) Загрузка файлов с помощью запроса PUT. Как мне это обработать?
parse_str(file_get_contents("php://input"),$upload_data);
if (isset($upload_data)) {
print_r($upload_data);
exit;
}
это, как я запрос к серверу с помощью завиток.
[email protected]:~$ curl -X PUT -H "X-TOKEN: test123" -F [email protected]/home/weldan/Pictures/Cool-Pictures1.jpg http://host.tld/process.php
Array
(
[------------------------------22031b6e799c
Content-Disposition:_form-data;_name] => "filedata"; filename="Cool-Pictures1.jpg"
Content-Type: image/jpeg
���
)
, так что, как я знаю, там загружен файл.
Текущая проблема: как обработать этот файл, как переменная $ _FILES?
открыт для других способов достижения этого.
Благодаря
так это выглядело так: '------------------------------ 7bb0791da128 Content-Disposition: form-data; Name = "FILEDATA"; filename = "test.txt" Content-Type: text/plain тест 123 ------------------------------ -7bb0791da128 - 'возможно, поэтому загруженный файл изображения не может быть просмотрен. он имеет дополнительные строки с ним. –
Да :) Я понял это во время моих тестов :) Но главное - это первое предложение. Его больше о природе протокола HTTP, чем проблема php. С запросом PUT может быть только один файл, поэтому нет массива $ _FILES. ** Обратите внимание на двойные кавычки вокруг аргумента -F. Без них это не сработает ** – hek2mgl
да. сделал это предложение. что мы получаем на стороне сервера все еще сырые двоичные данные, которые я думаю. если я сохранил его как filename.txt, я все еще вижу дополнительную строку, что я хочу сделать. Я хочу хранить данные во временном файле, поэтому я могу проверить его тип, в моем случае я хочу файл с изображениями. поэтому ваш ответ был действительно полезным, но не решил проблему. все еще выясняя, что делать. спасибо –