这个主题可能听起来很熟悉,但我对所提出的任何Stackoverflow问题都不太满意。看到我正在创建一个包含少量成员的网站,比如50左右。我创建了我的注册表单和登录表单。但现在我不想为每个新注册会员分配一个头像。当我的新会员成功注册时,将为他们分配保存在服务器上的随机头像。用户将在每次访问时随身携带此头像。所以要清楚我的问题:
如何为每位新用户分配随机图片并将图片保存到user_id
?
我目前正在使用MySQL和PHP编码。我有一个“选择随机图片”功能,但不知道如何与用户存储图片。我很高兴有任何建议。
修改
经过一些考虑,我已经能够说明一个更清晰的目标。 我将图像存储在我想要随机分配给新成员的文件系统中,并且当图像被分配时,它应该被“采取”。因此,如果新用户注册,他将获得随机图像,而无法获取已拍摄的图像。
我只是成功创建了一个上传随机图像的生成器,但没有确保相同的图片不再出现:
$avatarDir = 'members/images/avatars/';
$pics= glob($avatarDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomPics = $pics[array_rand($pics)];
$query_new_user_picture = $this->connection->query("INSERT INTO my_images (image) VALUES('$randomPics')");
$results = mysql_query($query_new_user_picture);
答案 0 :(得分:2)
array_rand
,shuffle
,无论如何)选择随机图片。这么难吗?
$user = /* get user data from database */;
/**
* assuming $user looks something like this:
*
* array('name' => 'John Doe', 'email' => 'john@example.com',
* 'profile_picture' => 'monster.jpeg');
*/
printf('<img src="img/profile_pictures/%s">', $user['profile_picture']);
// output: <img src="img/profile_pictures/monster.jpeg">
现在只需确保该网址可以访问该图片。