$ _FILE не находит файл? - PullRequest
       1

$ _FILE не находит файл?

0 голосов
/ 23 сентября 2019

По какой-то причине при загрузке любого (одного, а не нескольких) файла PHP возвращает «Неверные параметры».Кто-нибудь знает почему?

<form action="" method="POST" enctype="multipart/form-data">
    <label style="margin-bottom: 10px;display:inline-block;">Avatar Upload</label>
    <input type="file" name="upfile" id="upfile" class="btn">
    <input style="margin-top:10px;" type="submit" id="upload" name="upload" class="btn" value="Upload Avatar">
</form>

Выше HTML-форма, я думаю, она должна работать?

if( isset( $_POST['upload'] ) )
{

  if( !isset($_FILES['upfile']['error']) ||  is_array($_FILES['upfile']['error']) )
  {

    egEcho("fail", "Invalid paramaters.");

  }
  elseif ( $_FILES['upfile']['size'] > 1000000 ) {

    egEcho("fail", "File too big.");

  }
  else
  {

    $finfo = new finfo(FILEINFO_MIME_TYPE);
    if (false === $ext = array_search(
        $finfo->file($_FILES['upfile']['tmp_name']),
        array(
            'jpg' => 'image/jpeg',
            'png' => 'image/png',
            'gif' => 'image/gif',
        ),
        true
    )) {
        egEcho('fail', 'Invalid file format.');
    }
    else
    {

      $fileName = $_FILES['upfile']['tmp_name'];
      $backwardsFileName = strrev( $fileName );
      $fileNameParts = explode( ".", $backwardsFileName );
      $extensionNoDot = $fileNameParts[0];
      $extension = '.' . $fileNameParts[0];

      $userID = userGet( $username, "id" );

      $newFileName = $userID . $extension;
      $destination = '/avatars/' / $newFileName;

      move_uploaded_file($_FILES['upfile']['tmp_name'], $destination);
      mysqli_query( $connection, "UPDATE users SET avatarExtension = '$extensionNoDot' WHERE username = '$username'" );

      egEcho("success", "Avatar successfully uploaded.");

    }

  }

}

Выше PHP, я в основном скопировал ее из PHP: Страница обработки загрузки файлов.

Чтобы добавить к этому, при выполнении:

if(isset( $_FILES['upfile'] ) ) {


}

Ничего не установлено.

При выполнении var_dump( $_FILES ) возвращаемое значение - пустой массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...