将默认图像更改为从目录中随机选择的图像


Change default image to randomly selected image from directory?

我对此感到头疼,在我正在开发的网站上,如果用户不上传头像,它将随机使用默认图像。我希望它从目录中随机选择一个图像(比如1-10个图像)。

以下是它用来获取默认头像和默认头像拇指的代码:

if ( !defined( 'BP_AVATAR_DEFAULT' ) )
    define( 'BP_AVATAR_DEFAULT', BP_PLUGIN_URL . 'bp-core/images/mystery-man.jpg' );
if ( !defined( 'BP_AVATAR_DEFAULT_THUMB' ) )
    define( 'BP_AVATAR_DEFAULT_THUMB', BP_PLUGIN_URL . 'bp-core/images/mystery-man-50.jpg' );

我认为我遇到的最大问题是,我需要选择的随机化身图像与选择的随机拇指相同。

任何见解都会很棒:)

感谢

我不知道有多少化身,但假设有四个,然后

$pics = array ('abc.jpg','def.jpg','ghi.jpg','xyz.jpg');
$picid = $pics[array_rand($pics,1)];
define( 'BP_AVATAR_DEFAULT', BP_PLUGIN_URL . 'bp-core/images/'. $picid);
define( 'BP_AVATAR_DEFAULT_THUMB', BP_PLUGIN_URL . 'bp-core/images/'. $picid );

如果超过4,那么你应该重命名它们,并将文件名保持为1.jpg、2.jpg,代码可以是

$picid = rand(0, 100); //100 = No. of images
define( 'BP_AVATAR_DEFAULT', BP_PLUGIN_URL . 'bp-core/images/'.$picid.'.jpg' );
define( 'BP_AVATAR_DEFAULT_THUMB', BP_PLUGIN_URL . 'bp-core/images/'. $picid.'.jpg' );