не отправляется фото с ajax запроса в php файл

есть файл js с ajax запросом, этот запрос должен отправить изображение в php файл, который сохранит это фото в папку media, а название фото сохранит в БД.

php файл changeData.php

function savePhoto($photo) {
    $fileSuccess = 'No';
    $fileName = $photo['name'];
    $fileTmp = $photo['tmp_name'];

    $uploadFolder = 'media/';

    $moveFile = move_uploaded_file($fileTmp, $uploadFolder . $fileName);

    if ($moveFile) {
        $fileSuccess = 'photo uploaded successful';
    }

    $user = R::findOne('users', 'id = ?', array($_SESSION['logged user']->id));
    if ($user) {
        $user->photo = $fileName;
        $_SESSION['logged user'] = $user;
        R::store($user);
        echo 'success';
    }
}
$userPhoto = $_FILES['photo'];

if (isset($userPhoto)) {
    savePhoto(($userPhoto));
}

function renderImg(file) {
  let reader = new FileReader();
  reader.onload = function(e) {
    photoPreviewNode.innerHTML = `<img src="${e.target.result}" alt="photo">`
  }
  reader.onerror = function(e) {
    alert('error')
  }
  reader.readAsDataURL(file.files[0])
}

$('.addPhotoForm').on('submit', function(e) {
  e.preventDefault()
  let fd = new FormData();
  let photo = $('.photoInput')[0].files;
  fd.append('photo', photo[0])

  $.ajax({
    url: 'changeData.php',
    method: 'POST',
    data: fd,
    processData: false,
    contentType: false,
    success: renderImg(inputPhoto)
  }).done(function() {
    console.log(1)
    alert(1)
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="row">
  <div class="column">Photo</div>

  <form method="POST" enctype="multipart/form-data" class="addPhotoForm column">
    <div class="column">
      <label for="photoInput">Add photo</label>
      <button type="submit" class="button formPhotoFormButton">Change</button>
    </div>
    <div class="column photoPreview">
      <input name="photo" type="file" class="photoInput" id="photoInput" placeholder="add photo" style="display:none">
    </div>

  </form>
</div>


Ответы (0 шт):