Я получаю файлы (изображения) закачанный с Ajax в моем PHP скрипт и получил его на работу с помощью этого:Использование PHP: // ввод и file_put_contents
$input = fopen("php://input", "r");
file_put_contents('image.jpg', $input);
Очевидно, я дезинфицировать вход перед этой операцией ,
Одна вещь, которую я хотел, чтобы проверить, был размер файла перед созданием нового файла следующим образом:
$input = fopen("php://input", "r");
$temp = tmpfile();
$realsize = stream_copy_to_stream($input, $temp);
if ($realsize === $_SERVER["CONTENT_LENGTH"]) {
file_put_contents('image.jpg', $temp);
}
И это не работает. Файл создается, но он имеет размер 0 байт, поэтому содержимое не помещается в файл. Я не очень хорошо знаком с использованием потоков, но я не понимаю, почему это не должно работать, поэтому я обращаюсь к вам за помощью. Заранее спасибо!
Как именно вы загрузите его в WebBrowser? Обычно вы хотите использовать кодировку формы 'multipart/form-data', а затем захватить загруженный файл' $ _FILES'. С помощью 'php: // input' вы указываете, что вы ожидаете, что файл будет закрыт для тела запроса ENTIRE. Это говорит о том, что вы используете запатентованный подход для загрузки файла в webbrowser. Может быть, пользовательский апплет? – BalusC
Я читаю коллекцию 'files' элемента' 'и просто отправляю' файл' методом XHR 'send()'. Не используется '
Включите отображение ошибок и отображение ошибок. – NikiC