PHP从另一页获取生成的链接

时间:2016-12-07 08:50:28

标签: php

我正在建立结帐页面,购买后应显示一次性下载链接。

www.mydomain/generate.php?mypassword 

此链接生成一次性下载链接,它应显示在Checkout页面上。

目前我使用:

$url = 'http://www.mydomain/generate.php?mypassword';
        $content = file_get_contents($url);
        $get_div = explode( '<div id="downloadlink" class="container">' , $content );
        $get_end_div = explode("</div>" , $get_div[1] );

        echo $get_end_div[0];

有什么建议可以更好地在结帐页面上获取生成的下载链接吗?

使用上面的代码,我有一个大问题。当客户登陆结账页时,他/她可以在文件下载后刷新页面,当页面生成与她/他的新链接时。

我来这里学习,欢迎任何建议/建议

1 个答案:

答案 0 :(得分:0)

没有ajax的另一个建议。

生成密码或您要显示的任何数据,并保留在会话或数据库中,并重定向到另一个页面http://www.mydomain/display.php。在那里你可以显示密码。也刷新不会生成新的链接。

你的&#34; mypassword&#34;是生成? &#34;这不会阻止文件生成新链接&#34; - 什么是生成新链接?我以为mypassword正在重新生成。

假设&#34; http://www.mydomain/generate.php?mypassword&#34;页面正在生成密码链接,请使用以下方法。

checkout.php

<?php
//After payment, you have mypassword now redirect to http://www.mydomain/generate.php';
$_SESSION['mypassword'] = 'mypassword';
header("Location:http://www.mydomain/display.php");

如果generate.php正在加载时生成下载链接 Display.php的

$mypassword = !empty($_SESSION['mypassword']) ? $_SESSION['mypassword'] : null;
if (!empty($mypassword))
{
    $url = 'http://www.mydomain/generate.php?'.$mypassword;
    $content = file_get_contents($url);
    $get_div = explode( '<div id="downloadlink" class="container">' , $content );
    $get_end_div = explode("</div>" , $get_div[1] );
    echo $get_end_div[0];
    //Unset password to disable second download
    unset($_SESSION['mypassword']);
}
else
{
    echo "Invalid download link":
}