Использование «Маленькой ванильной структуры» для создания функции загрузки - PullRequest
0 голосов
/ 13 сентября 2018

Глядя на этот документ ; Я пытаюсь загрузить файл, используя XMLHttpRequest.

Вот как я начинаю: я беру код в Небольшой ванильной структуре раздела документа. Тогда я сначала заставляю это работать на моем собственном сайте. Затем, чтобы реализовать функцию загрузки, я хочу изменить конец файла register.php . Действительно, передача файлов на сервер уже происходит там. Чтобы назвать это загрузкой, мне нужно только сохранить файл на сервере.

Я делаю это после этих строк:

echo "\n\n:: Files received ::\n\n";
print_r($_FILES);

Там я хочу записать содержимое $ _FILES [0] на сервер. Для этого я использую этот код:

$myfile = fopen("MyData.jpg", "w");
fwrite($myfile, $_FILES[0]);

// The three lines below that I have tried instead of the one above do not work either.
//fwrite($myfile, json_encode($_FILES['photos']);
//fwrite($myfile, json_encode($_FILES[photos[0]]);
//fwrite($myfile, json_encode($_FILES['photos'][0]);

fclose($myfile);

В результате на сервере, как и ожидалось, записан файл с именем MyData.jpg , но его длина равна нулю.

Я думаю, что в трех строках выше есть ошибка, но, что я сделал не так?

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Я думаю, вы получите данные здесь: $ _FILES ['photos'] ['tmp_name'] [0].Попробуйте, пожалуйста.

Или

Вы можете переписать свой код, как показано ниже:

foreach($_FILES['photos']['tmp_name'] as $i=>$file){
    if($_FILES['photos']['error'][$i] == 0){
        move_uploaded_file($file, "MyData_".$i.".jpg");
    }
}
0 голосов
/ 13 сентября 2018

Правильный метод заключается в использовании

move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], "MyData.jpg");

где "fileToUpload" - это имя поля, которое вы дали для кнопки файла

...