【问题标题】:one single image url for an avatar to display random image from a folder (server-side php script)一个头像的单个图像 url,用于显示文件夹中的随机图像(服务器端 php 脚本)
【发布时间】:2013-11-19 10:31:18
【问题描述】:

很久以前,如果我没记错的话,我曾经发现一个只包含大约 6 行短行的 php 脚本。但是没有运气,我再也找不到类似的东西了,所以我会向你寻求帮助。

我记得只有一个文件“rotate.php”和一个文件夹,其中包含所有我自己选择的图像,该脚本支持不同的尺寸和不同的扩展名(jpg、png、gif)。

脚本生成了一个单独的 url,可用作头像的图像 url 或支持 bbcode 的论坛上的 [img] 标签之间。

分别地,当有人访问我的论坛个人资料或看到我在论坛上的评论时,每次访问/刷新它总是显示一个随机图像作为我的头像。

似乎有许多简单的变体可以为我自己的网站徽标或其他内容创建随机图像幻灯片,但我无法找到一种方法使其适用于外部网站,例如前面提到的单个 url。

给我一​​些希望,谢谢。

【问题讨论】:

  • 学php怎么样?
  • 我们不会为您提供解决方案。但是,如果/当您遇到困难时,我们会为您提供帮助。努力编写一些代码并在遇到问题时寻求我们的帮助。
  • 这很有帮助.. 我已经在学习 javascript 基础知识,但是在其他领域的工作中,我没有太多空闲时间可以投入其中。大约 6 条短线,我希望有人已经有解决方案可以分享..

标签: php image rotator


【解决方案1】:

希望对您有所帮助,您可以使用名为opendir($path) 的PHP 内置函数打开路径中的文件夹并读取目录。

   <?php
        function getImagesFromDir($path) {
            $images = array();
            if ( $img_dir = @opendir($path) ) {
                while ( false !== ($img_file = readdir($img_dir)) ) {
                    // checks for gif, jpg, png
                    if ( preg_match("/(\.gif|\.jpg|\.png)$/", $img_file) ) {
                        $images[] = $img_file;
                    }
                }
                closedir($img_dir);
            }
            return $images;
        }

        function getRandomFromArray($ar) {
            mt_srand( (double)microtime() * 1000000 ); // php 4.2+ not needed
            $num = array_rand($ar);
            return $ar[$num];
        }

        $path = 'imagesfolder/';    

        $imgList = getImagesFromDir($root . $path);
        $img = getRandomFromArray($imgList);

     ?> 

在 HTML 中:

      <img src="<?php echo $path . $img; ?>" alt="" />

参考:http://www.dyn-web.com/code/basics/random_image/random_img_php.php

【讨论】:

  • 这个我看到了,但是如何把最后一行变成一个可以在不支持html,但只支持bbcode的外部网站上使用的url?
  • @family-guy 你需要上传一个像上面提到的脚本,然后链接你的图片,使用像[img]url-of-script[/img]这样的BBcode。
  • 但是bbcode不支持不以图片扩展名结尾的图片url。看例子。 i.imgur.com/INLQro3.jpg - 在我自己的主机脚本的 url 上应该看起来像这样,并且能够在每次访问/刷新时显示随机图像。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多