【问题标题】:How to add an Alert after page-loading with an php-value如何在使用 php 值加载页面后添加警报
【发布时间】:2020-08-09 23:04:18
【问题描述】:

我有一个网络应用程序,我可以将 pdf 文件上传到数据库中。我的签名程序只允许使用 pdf-verion 1.4 的 pdf 文件,所以我想通过上传文件直接检查版本。所以当我上传文件的时候,我启动这个来获取文件在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 代码中获得带有此结果的警报。我认为这是因为文档已经加载完毕。在 html 中选择文件后,如何直接向用户显示其上传文件的 pdf 版本?

为我的英语打招呼和抱歉, 喜欢肥猫

【问题讨论】:

    标签: javascript php database pdf blob


    【解决方案1】:

    要提醒上传文件的PDF 版本,您可以直接将$result 回显到alert()

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

    【讨论】:

    • 不幸的是它不起作用。我根本没有收到警报,所以行为与我的方式相同。我认为这是因为在调用函数 handle_pdfCheck() 时文档已经加载完毕。
    • 我在这里发布了一个工作示例,我会向您展示。
    • 是的 - 所以它工作。我的问题是,在我的情况下,页面已经加载。当用户选择要上传的文件时 ( )它将启动我的javascript代码,该代码使用ajax-POST-request调用php函数handle_pdfCheck(),在这里,在php代码中,我想在警报中显示版本号,但没有警报打开。我可以写 alert("hello world");但它不起作用......我想我必须在之后将警报附加到页面或类似的东西
    • 所以你可以使用onclick() 函数,例如:onclick() of input[type = file] 运行调用handle_pdfCheck() 函数,它会工作得很好。
    猜你喜欢
    • 1970-01-01
    • 2013-06-02
    • 2017-08-06
    • 1970-01-01
    • 2014-08-09
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多