1

わかりました、これが私がやろうとしていることです。

私のサイトには、アバターとして使用するためにアップロードした一連の画像があります。これらのサイトは通常、さまざまなサイズを要求し、受け入れる URL の種類に非常にうるさいです。

私がやろうとしているのは、Gravatar サーバーから Gravatar 画像を取得し、その場で、またはキャッシュを使用して、カスタマイズされた URL を使用して提供することです。

画像 100x100px の My Gravatar URL:

http://gravatar.com/avatar/b6e428090e62182266a4e9dd87297ee1.png?s=100

私がウェブサイトに提供したいことは、多かれ少なかれ次のとおりです。

http://alenonimo.com.br/avatar/avatar100.png

興味深いので、ここで解決しようとしている問題について説明しましょう。

一部のサイトでは、phpBB などのように、アバター画像用のサード パーティの URL を受け入れます。また、100x100 ピクセル、120x120 ピクセル、200x200 ピクセルなど、好みのサイズも異なります。ただし、提供される画像のサイズを定義する「s」変数が URL に含まれている場合、Gravatar URL の受け入れを拒否します。グラバターより。オプションを指定しない場合、デフォルトのサイズは常に 80x80 ピクセルです。

そのため、これらのサイトに Gravatar の画像を提供し、URL でサイズを定義して、Gravatar の画像ジェネレーターからのものであることに気付かないようにしたいと考えています。それらのサイトに、画像が実際に私のウェブサイトからのものであると思わせたい. Gravatar を受け入れないサイトのサイズを設定できるようになり、幸運にも、Gravatar にアクセスするだけで、それらすべてのサイトのすべてのアバター画像を一度に変更できるようになります。

Apache の RewriteEngine を使用して実行できると確信していますが、それを実行するためのコードが不足しています。ネットで見つけたすべての例は、同じサイトから同じサイトの別の場所にコンテンツをリダイレクトすることを考慮していますが、そうではありません。また、何かを受け入れるのではなく、サイズ属性が多かれ少なかれ有効な数値であることを確認したかったのです。したがって、「100.png」というファイルは問題ありませんが、「banana.png」はそうではありません。

これ自体は興味深いことですが、別のことが思い浮かびました。サイトが PNG ファイルを受け入れず、JPG または GIF ファイルを受け入れる場合はどうなりますか? 画像を表示するだけのサイトではおそらく起こらないでしょうが、URL からアップロードするサイトにも画像を提供できれば興味深いと思います。また、キャッシュ システムのように、Gravatar がオフラインになっても何かが表示されるようにすることも興味深いでしょう。これは PHP で実現できる可能性がありますが、どれほど複雑になるかはわかりません。

誰かが RewriteEngine ルールを手伝ってくれませんか? または、この PHP スクリプトを作成する方法を教えてくれませんか? ここにいる他の誰かにとって興味深いでしょうか?

4

1 に答える 1

2

.htacces を使用して簡単に実行できる .png 拡張子の .php ファイルをサーバーにリッスンさせる必要があります。

RewriteEngine on
RewriteRule ^avatar/([a-z,A-Z,0-9,-_]+)$ index.php?avatar_param=$1

PHPスクリプト

<?php

if(isset($_GET['avatar_param']))
{
    $avatar_size = filter_var($_GET['avatar_param'],FILTER_SANITIZE_NUMBER_INT);
    $user_email_hash = 'b6e428090e62182266a4e9dd87297ee1';

    $get_gravar_image = 'http://gravatar.com/avatar/'.$user_email_hash.'.png?s='.$avatar_size;
    echo '<img src="'.$get_gravar_image.'" />';
}

  ?>

提供されたURL構造を見て、画像のサイズとして数字を使用しました。上記のコードを使用するだけでうまくいきます。

URLのサイズを試してみると、動的でうまく機能していることがわかります

デモ

http://thetutlage.com/demo/avatarProblem/avatar/avatar100.png

于 2012-10-15T17:49:35.363 に答える