0

ユーザー向けのシンプルなアバター システムを作成したいと考えています。

使い方は簡単です。アップロードされたアバター画像はすべて、ユーザーによって名前が付けられます。次に例を示します。

<a>...$username.'.jpg';..</a>

したがって、データベースは本当に必要ありません。ユーザーがログインすると、すでに(データベースから)必要なユーザー名にファイルタイプを追加するだけです。

ここで気になるのは、ユーザーが自分の画像を設定する前に使用されるデフォルトの画像です。これを処理する最善の方法は何ですか? ユーザー アカウントの作成時にデフォルト イメージを作成/ユーザーのアバター フォルダーにコピーする可能性はありますか?

データベース(デフォルト値)を使用したり、ユーザーイメージが設定されているかどうかを確認したりすることでこれを実現できることはわかっていますが、できるだけシンプルに保ちたいと考えています。

前もって感謝します :)

4

3 に答える 3

1

ファイルが行うことの非常に簡単な例。もちろん、もっと安全にすることをお勧めします。

$filename = $_GET["avatar"];
$path = 'path/to/your/files';
if (!file_exists($path.$filename.'.jpg'))
{
   $filename = "default";
}
Header('Content-type: image/jpg');
readfile($path.$filename.'.jpg');
于 2012-05-17T16:16:03.810 に答える
1

ユーザーのプロフィール写真がファイルシステムに存在するかどうかを確認します。

  • 存在する場合:表示します。
  • そうでない場合:1つの場所に保存されているデフォルトの画像を表示します。コピーする必要はありません。

画像名を拡張子を付けてデータベースに保存することをお勧めします。従来のJPGではなく、PNGまたはGIF画像をアップロードしたい場合があります。

于 2012-05-17T16:16:06.080 に答える
1

あなたがやろうとしていることの簡単な例は...

  1. ユーザーがサイトに登録すると、画像をアップロードするかどうかを選択できます。

  2. プロセスで検証を行い、アップロードする画像があるかどうかを確認します。また、処理中のファイルがある場合は、その拡張子を検証します (許可する拡張子を宣言して配列し、受信ファイルと比較します)。

  3. 登録しているユーザーが画像をアップロードしない場合は、サーバーでデフォルトの画像を作成します (例: "users/default.jpg")。したがって、データベースへの挿入では、架空の「image_name」列にデフォルトを入力し、「image_ext」列に.jpgを入力する必要があります

  4. 登録しているユーザーがプロセスで画像をアップロードする場合、サーバーで (拡張子とサイズを検証したときに) 例を作成します。「users/1.jpg」。「1」はユーザー ID であり、挿入にも架空の「image_name」列に入れられたデータベース:1および「image_ext」列に入れられた:.jpg

  5. 画像を取得するには、必要な種類のselect * fromユーザー ID を実行し、html に入力するだけです。それだけecho "<img src='users/".$row['image_name'].$row['image_ext']."'/>";で完了です。

于 2012-05-17T16:31:40.160 に答える