+
不是有效的 PHP 连接字符。.
是。通过使用+
,您可以有效地将这两个字符串相加,当它们转换为整数时,等于0
.
这一行:
echo '<img src="memb_area/captcha/imgs">' + 'echo $files[$rand_keys[0]] . "\n";'
应该是:(更新)
echo "<img src=\"memb_area/captcha/imgs/".$files[$rand_keys[0]]."\">".PHP_EOL;
更新01:(OP的评论:但刷新后,两三次后 - 什么都没有显示。下一次刷新 - 显示图像......等等。)
Scandir php.net (Example #1) 说:
Array
(
[0] => .
[1] => ..
[2] => bar.php
[3] => foo.txt
[4] => somedir
)
所以,也许你scandir($foo)
正在返回一个数组,其中有两个键,它们的值是不可见的目录。
试试这个代码,让我知道:
$dir = 'memb_area/captcha/imgs/';
$files = scandir($dir);
if($files[0] == ".") unset($files[0]);
if($files[1] == "..") unset($files[1]);
$files = array_values($files); // reset array keys back to 0,1,2..
$rand_keys = array_rand($files, 2);
echo $files[$rand_keys[0]] . "\n";
echo $files[$rand_keys[1]] . "\n";
echo "<img src=\"memb_area/captcha/imgs/".$files[$rand_keys[0]]."\">".PHP_EOL;