Загрузить файл с помощью AJAX jquery - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь загрузить один файл с JQUERY AJAX. Я нашел эту старую тему - JQuery AJAX один файл загрузки

Я следовал кодам, но продолжал получать ошибку «Не установлено» в моем php-скрипте.

Вот мой HTML

<form id="fileinfo" enctype="multipart/form-data" method="post" name="fileinfo">
    <label>File:</label>
    <input type="file" name="file" required />
</form>
<input type="button" id="upload" value="Upload"></input>
<div id="output"></div>

Вот мой код Jquery. я использованный последний несжатый CDN - https://code.jquery.com/jquery-3.3.1.js

$( document ).ready(function() {

    $('#upload').on('click', function(){ 

                var formData = new FormData(); 
                formData.append('file', $('input[type=file]')[0].files[0]);
        $.ajax({
            url: 'upload.php',  
            type: 'POST',
            data: formData,
            success:function(data){
                $('#output').html(data);
            },
            cache: false,
            contentType: false,
            processData: false
        });
    });
});

Вот мой скрипт php (upload.php)

<?php
    if(isset($_GET['file'])){
    $filename = $_FILES['file']['name'];
        if(isset($filename) && !empty($filename)){
        echo 'File available';
        }else{
        echo 'please choose a file';
        }
    } else{
    echo 'No file';
    }
?>

Обновление: изменил мой код PHP ниже, и это исправило проблему.

<?php
$info = pathinfo($_FILES['file']['name']);
$ext = $info['extension']; // get the extension of the file
$newname = "newname.".$ext; 

$target = 'files/'.$newname;
move_uploaded_file( $_FILES['file']['tmp_name'], $target);

if (file_exists("files/{$newname}")) {
echo "Uploaded!";
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...