1

このトピックはおなじみのように聞こえるかもしれませんが、尋ねられるStackoverflowの質問のいずれにも完全には満足していません。会員数が少なく、たとえば50人程度のWebサイトを作成しているところを参照してください。そして、登録フォームとログインフォームを作成しました。しかし、今は、新しく登録された各メンバーにアバターを割り当てたくありません。新しいメンバーが正常に登録されると、サーバーに保存されているランダムなアバターがメンバーに割り当てられます。ユーザーは、訪問するたびにこのアバターを携帯します。だから私の質問をクリアするには:

新しいユーザーごとにランダムな画像を割り当てて、その画像をユーザーに保存するにはどうすればよい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);
4

1 に答える 1

2
  1. 画像の名前/ID/ファイルパス/その他を保存するフィールドをデータベースに用意します。
  2. ユーザーが登録するときにランダムな画像を選択します(array_rand、、shuffleなど)。
  3. ランダムに選択した画像をデータベースのフィールドに保存します。

大変でしたか?


$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">

次に、そのURLで画像にアクセスできることを確認します。

于 2012-11-06T22:23:58.280 に答える