Adsense Mobile Hack:有什么办法可以找出 PHP 脚本中最后回显的内容是什么?

问题描述 投票:0回答:3

众所周知,我们不允许修改 Adsense PHP 脚本,因为它违反了 TOS。

我工作的网站之一是移动网站,出于某种奇怪的原因,为设备类型“所有手机”创建的 Adsense 移动广告并没有为您提供“替代广告”的选项,但超过 20%展示次数未显示广告“(不匹配的广告请求)”。

没有Adsense支持,我在网上找不到任何解决这个问题的方法。

但是,我注意到,当没有显示 Adsense for Mobile 广告时,Google 只是回显

<!-- google_afm -->
。 因此,要强制显示替代广告,我所需要做的就是找出 Google echo 的
<!-- google_afm -->
,然后自己显示替代广告。

现在,如果我可以更改以下行中的 Adsense PHP 代码,这将非常容易做到:

echo fread($google_ad_handle, 8192);

但是,这将违反服务条款,我将面临被禁止的风险。

既然我正在做这个脚本的

include
,有没有办法在PHP中确定脚本最后回显的内容是什么?

如果没有,那么您是否可以建议我使用其他替代方案来展示替代广告,这样我就不会浪费超过 20% 的展示次数?

php echo adsense
3个回答
0
投票
<?php

  ob_start();
  include "adsense_script.php";
  $output = ob_get_clean();
  if (substr($output,-19) == '<!-- google_afm -->') {
    // display alternate here
  }

?>

0
投票

您可以使用输出缓冲控制。例如:

ob_start();
include("/path/to/script.php");
$data = ob_get_contents();
ob_end_clean();

0
投票

您可以使用输出缓冲,就像包含:

<?php
    /**
     * include_get_contents
     *
     * include a file and return it's output
     *
     * @param string $path filename of include
     * @return string
     */
    function include_get_contents($path)
    {
        ob_start();
        include($path);
        return ob_get_clean();
    }
© www.soinside.com 2019 - 2024. All rights reserved.