使用图像文件链接显示随机横幅

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

不确定这是否在这里合适,但我正在尝试弄清楚横幅旋转器网站如何使用标准html图像代码来返回随机横幅?

<a target=_blank href=http://intellibanners.com/click.php?cid=campaign1>
    <img border=0 src=http://intellibanners.com/campaign1.jpg>
</a>

在上面的示例中,该html将显示该广告系列的随机图像。

开始时我一时兴起,看看我是否可以设置类似的图像来处理不同的图像大小,但是现在它让我发疯了……试图弄清楚如何从图像URL转到数据库调用发送回另一张图片!

没有幸运地寻找想法或例子,可能是因为我不知道我实际上应该寻找什么样的过程或功能?

我认为所有图像调用都必须进行某种形式的URL重写,从而重定向到处理程序脚本...

该脚本进行数据库调用,从指定的活动中获取随机图像,更新统计信息,等等...

并且可能是php标头响应返回相应的图像文件?

但是其中大多数对我来说都是新手,我不确定从哪里/如何寻找指南或示例来使我入门。

[如果有人对此有任何想法,甚至我需要的措辞/功能可能会帮助我在自己的搜索中到达那里,我将不胜感激!

((我还安装并测试了大约12种不同的rotator脚本,希望找到一个工作原理相同,但也没有运气的脚本)。

谢谢!

马特

php mysql url-rewriting http-headers banner
1个回答
0
投票

我写了一个php脚本,假定该脚本在您网站的根目录中存在。然后,您可以在网站的任何位置以简单的方式调用它。这是我的脚本:

rotate.php

<?php
  ##########################################################
  # Simple Script Random Images Rotator • 1.4 • 04.01.2020 #
  # Alessandro Marinuzzi [alecos] • https://www.alecos.it/ #
  ##########################################################
  function rotate($folder) {
    if ((file_exists($_SERVER['DOCUMENT_ROOT'] . "/$folder")) && (is_dir($_SERVER['DOCUMENT_ROOT'] . "/$folder"))) {
      $list = scandir($_SERVER['DOCUMENT_ROOT'] . "/$folder");
      $fileList = array();
      $img = '';
      foreach ($list as $file) {
        if ((file_exists($_SERVER['DOCUMENT_ROOT']  . "/$folder/$file")) && (is_file($_SERVER['DOCUMENT_ROOT']  . "/$folder/$file"))) {
          $ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
          if ($ext == 'gif' || $ext == 'jpeg' || $ext == 'jpg' || $ext == 'png') {
            $fileList[] = $file;
          }
        }
      }
      if (count($fileList) > 0) {
        $imageNumber = time() % count($fileList);
        $img = $folder . '/' . $fileList[$imageNumber];
      }
      return $img;
    } else {
      mkdir($_SERVER['DOCUMENT_ROOT'] . "/$folder", 0755, true);
    }
  }
?>

现在您可以在所需的位置创建index.php文件,并将此行放置:

<?php include("your_path/rotate.php"); ?>

<a target="_blank" href="http://intellibanners.com/click.php?cid=campaign1">
    <img border="0" src="<?php echo rotate('campaign1'); ?>">
</a>

其他类似这样:

<a target="_blank" href="http://intellibanners.com/click.php?cid=campaign2">
    <img border="0" src="<?php echo rotate('campaign2'); ?>">
</a>

以及这样...

您只需要在名为campaign1campaign2 ...等的根目录中创建所需的文件夹,>

然后在每个文件夹中放入当前广告系列的横幅图像...

例如:在文件夹campaign1中放置001.png002,png003.png004.jpg005.jpg ...之类的图像(这些文件名与您的广告系列标语匹配)。>>

例如:在文件夹campaign2中,将001.png002,png003.png004.jpg005.jpg006.gif007.png008.jpg ...等图像这些文件名与您的广告系列标语匹配)。

脚本将完成其余的工作!

希望对您有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.