ヘルプが必要です。php gd を使用して Facebook アプリを作成しました。ユーザーがアプリを開くと、画像が表示されます。画像には、ユーザーのユーザー名、プロフィール写真、ランダムに生成されたニックネームが含まれています。出力画像を保存しています。 resized.jpg としてサーバーに送信し、Facebook グラフを使用してその画像をユーザーのウォールに投稿します。問題は、2 人のユーザーが同時にアプリを使用すると、出力が変化することです。サーバーに保存せずに各ユーザーに画像を生成し、facebook に投稿する方法。現在、html imgタグを使用してアプリに画像を表示しています..
2 に答える
答えは簡単です。画像ファイル名は、ユーザーごとに異なる名前にする必要があります。変数にユーザーIDが$uid
ある場合、ターゲットファイルを次のように保存してみませんか:
imagejpeg( $rImg, "resized".$uid.".jpg" );
これにより、ユーザーごとに異なる画像が表示されます。
ファイルを「resized.jpg」としてサーバーに保存するのではなく、生成された画像をユーザーに直接出力する必要があります。http://php.net/manual/en/function.imagejpeg.phpから、ファイル名を NULL に設定するように指示されています。これにより、出力がファイルではなくユーザーに送信されます。注: ヘッダー関数を使用して正しい Content-Type を設定する必要がある場合もあります。
この方法は、Tomasz の方法に代わるものです。彼の方法では、各画像がサーバーにキャッシュされます。私の場合、ページが要求されるたびに画像が生成されます。違いを示す例を次に示します。
<img src="http://example.com/resized1234.jpg"> #1234 is the user's id
<img src="http://example.com/generate-image.php?uid=1234">
あなたの場合、あなたは画像を Facebook に直接投稿していると言ったので、私の方法をお勧めします。Facebook は、サイトに投稿すると画像の独自のコピーを保存し、キャッシュする必要がないためです。また、サイトに他のユーザーの画像が山積みになることもありません。
私の答えで何かを明確にする必要がある場合はお知らせください。