0

ヘルプが必要です。php gd を使用して Facebook アプリを作成しました。ユーザーがアプリを開くと、画像が表示されます。画像には、ユーザーのユーザー名、プロフィール写真、ランダムに生成されたニックネームが含まれています。出力画像を保存しています。 resized.jpg としてサーバーに送信し、Facebook グラフを使用してその画像をユーザーのウォールに投稿します。問題は、2 人のユーザーが同時にアプリを使用すると、出力が変化することです。サーバーに保存せずに各ユーザーに画像を生成し、facebook に投稿する方法。現在、html imgタグを使用してアプリに画像を表示しています..

4

2 に答える 2

0

答えは簡単です。画像ファイル名は、ユーザーごとに異なる名前にする必要があります。変数にユーザーIDが$uidある場合、ターゲットファイルを次のように保存してみませんか:

imagejpeg( $rImg, "resized".$uid.".jpg" );

これにより、ユーザーごとに異なる画像が表示されます。

于 2012-09-24T12:44:13.100 に答える
0

ファイルを「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 は、サイトに投稿すると画像の独自のコピーを保存し、キャッシュする必要がないためです。また、サイトに他のユーザーの画像が山積みになることもありません。

私の答えで何かを明確にする必要がある場合はお知らせください。

于 2012-09-24T12:53:56.843 に答える