通过php脚本在外部文件中执行Javascript

通过php脚本在外部文件中执行Javascript,php,javascript,curl,Php,Javascript,Curl,我一直在尝试创建一个php文件,它基本上是一个移动短代码消息。由于页面上的任何输出都会自动显示在手机短信中,因此我无法在页面上使用任何html。但是在文本输出到页面之前,我在执行一些google analytics javascript代码时遇到了一个问题。我创建了一个外部文件,在那里编写了javascript,并试图通过curl执行该文件,但curl不执行javascript。因此,我的主文件SMSapi.php代码如下: <?php if(isset($_GET['mobile

我一直在尝试创建一个php文件,它基本上是一个移动短代码消息。由于页面上的任何输出都会自动显示在手机短信中,因此我无法在页面上使用任何html。但是在文本输出到页面之前,我在执行一些google analytics javascript代码时遇到了一个问题。我创建了一个外部文件,在那里编写了javascript,并试图通过curl执行该文件,但curl不执行javascript。因此,我的主文件SMSapi.php代码如下:

<?php
    if(isset($_GET['mobile'])){
        $number = $_GET['mobile'];
    }

    if(isset($_GET['text'])){
        $data = $_GET['text'];
    }

    $brand = "mybrand";
    $event = "MyEvent";
    $deal = "MyDeal";

    $url = "http://myurl.com/sms.php";

    $post_string = "brand={$brand}&event={$event}&deal={$deal}";

    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);

    $success = curl_exec($ch);

    curl_close($ch);

    echo "Your discount code is XYZ123";
?>
sms.php代码如下所示:

<?php 

if(isset($_POST) && !empty($_POST['event']) && !empty($_POST['brand']) && !empty($_POST['deal'])):
    $event = urldecode($_POST['event']);
    $brand = urldecode($_POST['brand']);
    $deal = urldecode($_POST['deal']);
?>
<html>
    <head>
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-MyNum']);
        _gaq.push(['_trackPageview']);

    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();
    _gaq.push(['_trackEvent', '<?php echo $event; ?>', '<?php echo $brand; ?>', '<?php echo $deal; ?>']);
</script>
</head>
</html>
<?php endif ?>
主SMS api文件向SMS.php文件发出一个curl请求,在执行该文件时,html和javascript将作为文本返回,而不会在那里执行。因此,javascript出现在SMS中


有没有办法通过php实现外部url和其中的所有Java脚本?

此链接可能对您有用:

我想这是一个通过短信提供商的呼叫运行的脚本,您需要将此事件记录在Google Analytics中

首先,我本以为登录数据库比登录分析更容易做到这一点。由于javascript在服务器端运行,因此除了事件之外,您不会得到任何额外的信息

如果您确实需要运行Google代码,那么您需要尝试在服务器端javascript Google analytics上搜索。解决方案将在很大程度上取决于您正在运行的服务器平台以及可以安装的服务器平台

一个可能适用于PHP的有趣链接是:


但是我没有使用过它,所以不知道它的效果如何。

您知道和其他输出缓冲功能吗?它们可能对您有所帮助。输出缓冲区可以隐藏有用的html,但也无法实现html和javascript,这是一个问题,因为我需要javascript在google Analytics中创建一个条目。您知道任何替代解决方案可以帮助在外部文件或url中实现所有Java脚本吗??Curl当然不能满足我的要求,但如果您能告诉我您可能会遇到的任何替代方案,那就太好了。