5

サーバーには、たとえば 400 X 600 ピクセルのサイズのファイルが保存されています。しかし、ウェブサイトの異なる部分では、異なる次元の同じ画像が必要です。サムネイルの場合、通常は 50 X 50 ピクセルが必要です。同じ画像を元のサイズでダウンロードすると、時間がかかり、ページの読み込みが遅くなります。その画像のサイズを変更すると、サイズはさらに小さくなります (500 KB から 50 KB など)。したがって、私が望むのは、ブラウザが画像をダウンロードする前に、サーバーは PHP スクリプトで必要なサイズに画像のサイズを変更する必要があるということです。

4

5 に答える 5

1

image.php などの新しいファイルのサムネイル コードにコードを配置し、このスクリプトを画像ファイル名、幅、高さのパラメーターを持つ img タグの src として使用する必要があります。

<img src="http://path-to-directory/image.php?img=abc.jpg&width=50&height=50" />

「DSC01088.jpg」を echo $_GET['img']; に変更する必要があります。適切な検証の後。

于 2012-06-18T11:28:56.447 に答える
1

PHP の GD ライブラリが必要です。次に、これこれを見て、画像自体の代わりにサイズ変更される php ファイルをリンクします。

neeraj の提案にも注意してください。アップロード中にサイズを変更して、パフォーマンスを向上させることができます。

ホストに PHP GD がない場合 (ほとんどありそうにありません)、thisまたはthisを参照してください。

于 2012-06-18T11:14:37.047 に答える
1

はい。PHP GD2 拡張機能を使用します。ここに簡単なチュートリアルがあります

于 2012-06-18T11:15:28.480 に答える
0

はい、もちろん!

GoogleforPHPの画像サイズ変更コードサンプル

次に、ダウンロードスクリプトを作成し、次のようなパラメーターを使用して呼び出します。

http:///www.mysite.com/image.php?image=path/to/my/image.png&width=50&height=50&crop=1

スクリプトは画像をロードし、指定された幅と高さにサイズ変更し、オプションでトリミングしてから、ダウンロード用の適切なヘッダーでエコーします...

これを行うには多くの方法があります...ここSEで質問する前にグーグルを使用する方が良い場合があります...

于 2012-06-18T11:18:39.787 に答える
0

GD Library を使用してサムネイルを作成する

まず、フォルダ内のすべての画像のリストを取得します

 function thumb()
 {
     $img_dir_path='images/';
     $thumb_dir_path='images/thumbs/';

     $img_array=GLOB($img_dit_path.'*.{jpg,jpeg}',GLOB_BRACE);

     foreach($img_array as $img)
     {
       list($path,$file)=explode('/', $img);
       list($fileName, $extension)=explode('.',$file);

        $thumb-file=$thumb_di_path . $fileName. '-thumb.jpg';

         if(file_exists($thumb-file))
         {
               //do nothing 
         }
         else 
         {
            //create file using GD and set width and height proportionally
            // Example $width=$orig_width * 0.1; $height =$orig_height * 0.1  
         }
     } 
 }
于 2012-06-18T11:35:10.380 に答える