0

我是 PHP 新手,这似乎只是在询问代码,但实际上我想知道如何与随机选择器一起实现链接。

我的代码:

<?php
$imglist='';
//$img_folder is the variable that holds the path to the swf files.
// see that you dont forget about the "/" at the end
$img_folder = "../files/flash/";
mt_srand((double)microtime()*1000);
//use the directory class
$imgs = dir($img_folder);
//read all files from the directory, ad them to a list
while ($file = $imgs->read()) {
if (preg_match("/\.swf$/i", $file))
$imglist .= "$file ";
} closedir($imgs->handle);
//put all images into an array
$imglist = explode(" ", $imglist);
$no = sizeof($imglist)-2;
//generate a random number between 0 and the number of images
$random = mt_rand(0, $no);
$image = $imglist[$random];
//display random swf
echo '<embed src="'.$img_folder.$image.'" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="650"
height="450"></embed>';
?>

这基本上从我的站点目录中获取了一个随机的 flash 文件。由于它不会影响 URL 栏,他们将无法将他们喜欢的东西发送给某人(这是一个无意的安全功能)。我希望他们能够发送链接或可能直接点击下载。

另外,如果可能的话,我正在考虑以及随机生成器制作一个左右箭头,它们可以滚动浏览所选目录中的所有 .swf。

该站点是 www.nsgaming.us,它是文本徽标下的“随机”按钮。

4

1 回答 1

1

您要求的是从 URL 读取参数,以便人们可以将他们的朋友链接到此 SWF 嵌入,您可以使用$_GET

看看我编写的这个例子。

    $swfs = array();
$swf_location = '../files/flash/';

if($handle = opendir($swf_location)) {
    while(false !== ($entry = readdir($handle))) {
        if(strtolower(pathinfo($path, PATHINFO_EXTENSION)) == 'swf') {
            $swfs[] = $entry;
        }
    }
    closedir($handle);
}

if(isset($_GET['swf']) && in_array($_GET['swf'], $swfs)) {
    $swf = $_GET['swf'];
} else {
    $swf = $swfs[rand(0, count($swfs))];
}

echo '<embed src="' . $swf_location . $swf . '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="650" height="450"></embed><br />Send this to a friend: <input type="text" value="http://yourwebsite.com/thisfilesname.php?swf=' . $swf . '" length="55">';

你以前的脚本很乱,做了很多没用的东西,这样安全又快

于 2013-07-31T17:44:43.650 回答