MYSQL で PHP を使用しており、プロフィール画像をアップロードする機能を追加したいと考えています。ユーザーがまだ自分の画像をアップロードしていない場合、デフォルトの画像を表示したい。データベースのプロフィール画像フィールドを BLOB として宣言しました。その場合、データベースを介してデフォルトの画像を直接配置するオプションがありません。助けてください !!
質問する
295 次
3 に答える
3
コードで処理します。すべてのユーザーのデータベース フィールドに同じ画像をコピーする必要はありません。
if (!$user['image']) {
// output default image
} else {
// output $user['image']
}
実際、最初はデータベースの外部に画像を保存する必要があります。
于 2012-08-16T08:48:30.800 に答える
2
何千回も何百万回も同じブロブ イメージを保存するのではなく、PHP コードで少しチェックを行います。そこにデータがある場合は、ユーザーのデータ行にある画像を使用します。
その点で、実際にはデフォルト値をブロブに割り当てることはできません。
ただし、これは可能です。データベースに 2 番目のテーブルを作成し、そこに BLOB を挿入します。次に、on insert
使用しているテーブルにトリガーを作成し、挿入が完了したら、次のようなものを使用します。
UPDATE BLOB_table SET BLOB_field = (select defaultBlob from othertableName);
しかし、そうは言っても、数百万行のブロブを無駄にする可能性があると、うんざりするはずです。行に blob が見つからない場合は、PHP コードをチェックしてデフォルトを割り当てます。
于 2012-08-16T08:47:07.840 に答える
0
私のアプリケーションにも同様の機能があります。画像がアップロードされていない場合は、デフォルトの画像へのリダイレクトを返します。
if (mysql_num_rows($data) == 0) {
header("Location: $default_image_url");
} else {
// Code to output image
}
于 2012-08-16T08:50:49.493 に答える