インターネットの急速な発展に伴い、インターネット上で写真を取得して保存するための一般的なニーズになりました。ストレージスペースを節約し、ウェブサイトの読み込み速度を向上させるには、保存された画像のサイズを制限することが特に重要です。この記事では、リモート画像を保存する際にサイズの制限を実現するためにPHPを使用する方法を紹介します。
PHPのGDライブラリは、画像サイズの変化と圧縮操作をサポートする強力な画像処理ツールです。まず、PHPビルトイン関数GetImagesizeを使用して、リモート画像の幅と高さ情報を取得する必要があります。サンプルコードは次のとおりです。
$ remoteimageurl = 'http://example.com/remote-image.jpg'; $ imageinfo = getImagesize($ remoteimageurl); if(!$ imageinfo){ Echo 'はリモート写真をピンチることができませんでした! '; 戻る; } $ remoteImageWidth = $ imageInfo [0]; $ remoteimageheight = $ yimasinfo [1];
上記のコードを介して、リモート画像の幅と高さを正常に取得できます。
次に、最大幅と最大高さを設定して、実際のニーズに応じて画像サイズを制限します。リモート画像サイズが設定された最大値を超えている場合は、スケーリングしてスケーリングします。サンプルコードは次のとおりです。
$ maxwidth = 800; $ maxheight = 600; if($ remoteImageWidth> $ maxwidth || $ remoteimageheight> $ maxheight){ //スケーリングスケールの計算します$スケール= min($ maxwidth / $ remoteimageWidth、$ maxheight / $ remoteimageheight); //スケーリングされたサイズを計算しますします$ newWidth = $ remoteImageWidth * $スケール; $ newHeight = $ remoteImageHeight * $ scale; //新しいしい空白の画像を作成します$ newImage = imageCreateTrueColor($ newWidth、$ newHeight); //リモート画像を新しいしい画像にコピーして、ImageCopyResampled($ newImage、ImageCreatefromJpeg($ remoteImageurl)、0、0、0、0、$ newWidth、$ newHeight、$ remoteImageWidth、$ remoteImageheight); //新しいしいイメージをローカルサーバーに保存imagejpeg($ newimage、 'path/to/save/new-image.jpg'); //無料メモリImagedestroy($ newImage); } それ以外 { //スケーリングは必要ありません。リモート画像コピー($ remoteImageUrl、 'path/to/save/save-image.jpg')を保存します。 }
上記の方法を使用すると、PHPを簡単に使用してリモート画像を保存し、効果的にサイズを制限できます。この方法により、保存された画像が合理的なサイズであることを保証し、サーバースペースを保存するだけでなく、ウェブサイトの読み込み効率も向上させます。全体的なプロセスには、リモート画像サイズの取得、最大サイズの設定、スケーリングが必要かどうかを判断し、最終的に保存することが含まれます。