Как добавить оповещение после загрузки страницы со значением php - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть веб-приложение, где я могу загружать pdf-файлы в базу данных. Моя подписывающая программа позволяет использовать только pdf-файлы с pdf-verion 1.4, поэтому я хочу проверить версию напрямую, загрузив файл. Поэтому, когда я загружаю файл, я запускаю его, чтобы получить содержимое файла в JS:

document.getElementById("selectedFile_upload").addEventListener('change', check_pdfVersion, false);

function check_pdfVersion(evt) {
    alert("check_pdfVersion...");
    var file = evt.target.files[0];

    var blob = new Blob([file], {type: 'application/pdf'});
    var data = new FormData();
    data.append('pdf_chkv', blob);

    $.ajax({
        url: 'upload.php',
        type: 'POST',
        data: data,
        contentType : false,
        processData : false,
        success: function(data) {
            alert("PDF Version wird geprüft");
        },
        error: function() {
            alert("FKT.check_pdfVersion erreicht aber etwas ist schief gelaufen")
        }
    })
}

function pdfVersion_result(evt) {
    alert("pdf version: " + evt.target.files[0].str);
}

Я отправляю сюда свои pdf-данные на PHP для проверки версии. Я думаю, что это даст возможность проверить версию в JS, и я пытаюсь таким образом, но это не работает:

    var file = evt.target.files[0];

    var reader = new FileReader();
    reader.onload = (function(theFile) {
        return function(e) {
            jQuery('#selectedFile_upload').val(e.target.result);
        };
    })(file);

    reader.readAsText("file: " + file);

    alert(reader);

Мой PHP -файл:

if(isset($_FILES['pdf_chkv'])) {
    if(!$_FILES['pdf_chkv']['error']) {
        handle_pdfCheck();
    }
}

function handle_pdfCheck() {
    $pdfFile_raw = file_get_contents($_FILES['pdf_chkv']['tmp_name']);

    $result = pdfVersion($pdfFile_raw);

    ?>

    <script>
        var result = '<?php echo $result; ?>';

        alert("PDF Version: ");
        alert(result);
    </script>

    <?php

    if(strcmp($result,'1.4') != 0) {
        die("Ihre PDF-Version ist " . $result . ". Dieses System kann derzeit nur PDF-Version 1.4 verarbeiten.");
    }
}

Я получаю версию файла в php переменной $ result, но я не получаю предупреждение в js -коде с этим результатом. Я думаю, потому что документ уже загружен. Как я могу показать пользователю pdf-версию его загруженного файла непосредственно после выбора файла в html?

приветствует и извините за мой engli sh, ilikefatcats

1 Ответ

0 голосов
/ 26 апреля 2020

Чтобы предупредить PDF версию загруженного файла, вы можете напрямую вставить $result в alert() как

alert("PDF Version: <?php echo $result; ?>");

enter image description here

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