Сохранение файла из $_FILES

101
06 октября 2021, 12:20

Все доброго дня!

В форме есть input типа file, который должен сохранять картинки на сервере, передаю картинки AJAX'ом в php функцию. Они передаются, но вот как их сохранить из массива $_FILES?

AJAX

    function setimage() {
    var fd = new FormData(); 
    var input = document.getElementById("educ-doc-copy").files;        
    fd.append('educ', input[0]);
    input = document.getElementById("id-doc-copy").files;
    fd.append('id', input[0]);
    $.ajax({
        url: '/wp-content/themes/II/php/photores.php',
        data: fd,
        processData: false,
        contentType: false,
        type: 'POST',
        success: function(data){
            $('#results').html(data);
        }
    });
    }

PHP

<?php
    echo "<pre>";
        print_r($_POST);
        print_r($_FILES);
    echo "</pre>";
    $now = date('Y-m-d_h-i-sa');
    $file = $now .'.png';
    //file_put_contents($file,$_FILES['id']['tmp_name']);
    copy ( $_FILES['id'], $file );
?>

Вывод функций:

    <div id="results"><pre>Array
    (
    )
    Array
    (
    [educ] =&gt; Array
        (
            [name] =&gt; Карта Тещи.jpg
            [type] =&gt; image/jpeg
            [tmp_name] =&gt; /tmp/php6Y0gs8
            [error] =&gt; 0
            [size] =&gt; 458882
        )
    [id] =&gt; Array
        (
            [name] =&gt; Без разгона.png
            [type] =&gt; image/png
            [tmp_name] =&gt; /tmp/phpt4FARP
            [error] =&gt; 0
            [size] =&gt; 1247953
        )
    )
    </pre></div>

Как мне это из этого массива файл сохранить?

Answer 1
<? 
// ....... Всякие проверки 
move_uploaded_file($_FILES['educ']['tmp_name'], 'Путь куда нужно положить файл'); 
move_uploaded_file($_FILES['id']['tmp_name'], 'Путь куда нужно положить файл'); 
?>
<?
// Если загрузка не ожидаемая 
// Разумеется мы понимаем о проверке итд.
foreach($_FILES as $idd => $value){
   // $idd - это твои 'educ', 'id' и всё что ещё придумал
   if(isset($_FILES[$idd]['tmp_name']) and !empty($_FILES[$idd]['tmp_name'])){
      move_uploaded_file($_FILES[$idd]['tmp_name'], 'Путь куда нужно положить файл');
   };
};
?>
READ ALSO
PHP, MYSQL UPDATE

PHP, MYSQL UPDATE

Не работает перебор значения в циклах for, foreach

162
Как через PHP сравнить текст и ответ от сервера и вывести указанное значение?

Как через PHP сравнить текст и ответ от сервера и вывести указанное значение?

Как через PHP сравнить текст и ответ от сервера и вывести указанное значение? Нужно, чтобы сервер сравнил переменную с отображаемым Пользуюсь...

210
Как изменить &lt;title&gt; страницы через php?

Как изменить <title> страницы через php?

есть сайт siteru, к нему установлен алиас домена krd

169
Корректировка размеров экрана

Корректировка размеров экрана

В процессе написания простой программы-рисовалки возникла проблема с работой под мое устройствоЭкран 2960х1440, но при использовании данной...

272