来自外部 .php 文件的 PHP 变量,在 JavaScript 中?

标签 php javascript

我已经获得了用于将文件上传到我的服务器的 JavaScript 代码(将其命名为“upload.js”):

function startUpload(){
    document.getElementById('upload_form').style.visibility = 'hidden';
    return true;
}

function stopUpload(success){
    var result = '';
    if (success == 1){
        result = '<div class="correct_sms">The file name is [HERE I NEED THE VARIABLE FROM THE EXTERNAL PHP FILE]!</div>';
    }
    else {
        result = '<div class="wrong_sms">There was an error during upload!</div>';
    }
    document.getElementById('upload_form').innerHTML = result;
    document.getElementById('upload_form').style.visibility = 'visible';
    return true;
}

我有一个简单的 .php 文件,它通过重命名上传的文件(我将其命名为“process_file.php”)来处理上传,并再次与 upload.js 连接以获取结果:

<?php
    $file_name = $HTTP_POST_FILES['myfile']['name'];

    $random_digit = rand(0000,9999);

    $new_file_name = $random_digit.$file_name;

    $path= "../../../images/home/smsbanner/pixels/".$new_file_name;
    if($myfile !=none)
    {
        if(copy($HTTP_POST_FILES['myfile']['tmp_name'], $path))
        {
            $result = 1;
        }
        else
        {
            $result = 0;
        }
    }
    sleep(1);
?>

<script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo $result; ?>);</script>

如果上传过程正确,我需要在 upload.js 中将上传文件的新名称可视化作为答案?我在上面的 JavaScript 代码中编写了我需要放置新名称答案的位置。

最佳答案

您必须将代码更改为以下内容。

<?php
    $file_name = $HTTP_POST_FILES['myfile']['name'];

    $random_digit=rand(0000,9999);

    $new_file_name=$random_digit.$file_name;

    $path= "../../../images/home/smsbanner/pixels/".$new_file_name;
    if($myfile !=none)
    {
        if(copy($HTTP_POST_FILES['myfile']['tmp_name'], $path))
        {
            $result = 1;
        }
        else
        {
            $result = 0;
        }
    }
    sleep(1);
?>

<script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo $result; ?>, '<?php echo "message" ?>');</script>

还有你的 JavaScript 代码,

function stopUpload(success, message){
    var result = '';
    if (success == 1){
        result = '<div class="correct_sms">The file name is '+message+'!</div>';
    }
    else {
        result = '<div class="wrong_sms">There was an error during upload!</div>';
    }
    document.getElementById('upload_form').innerHTML = result;
    document.getElementById('upload_form').style.visibility = 'visible';
    return true;
}

关于来自外部 .php 文件的 PHP 变量,在 JavaScript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1433006/

相关文章:

javascript - 页面更改时如何重置 Meteor AutoForm?

javascript - 如何增加 localStorage 的值

Javascript:从ajax成功设置类属性

php - MVC - URI 中没有 Controller ?

php - 访问 http 时拒绝访问 ://localhost/phpmyadmin/page

javascript - 从在线 Power BI 仪表板中抓取数据

javascript - Angular View ,如果未经身份验证,则显示单个 View

php - 价格或货币变为 0.00

PHP 检索 PostGIS 地理类型

php - 拉维尔 : Class 'App\DB' not found