인터넷의 빠른 발전으로 인터넷에서 사진을 획득하고 저장해야 할 것이 일반적입니다. 저장 공간을 절약하고 웹 사이트로드 속도를 향상시키기 위해서는 저장된 이미지의 크기를 제한하는 것이 특히 중요합니다. 이 기사는 원격 사진을 저장할 때 PHP를 사용하여 크기 제한을 달성하는 방법을 소개합니다.
PHP의 GD 라이브러리는 변화하는 이미지 크기 및 압축 작업을 지원하는 강력한 이미지 처리 도구입니다. 먼저 PHP 내장 기능 getImagesize를 통해 원격 이미지의 너비와 높이 정보를 얻어야합니다. 샘플 코드는 다음과 같습니다.
$ remoteImageUrl = 'http://example.com/remote-image.jpg'; $ imageInfo = getImagesize ($ impleatimageUrl); if (! $ imageInfo) { Echo '는 원격 사진을 얻지 못했습니다! ';; 반품; } $ impliceMageWidth = $ imageInfo [0]; $ RemoteImageHeight = $ imageInfo [1];
위의 코드를 통해 원격 그림의 너비와 높이를 성공적으로 얻을 수 있습니다.
다음으로 실제 요구에 따라 이미지 크기를 제한하기 위해 최대 너비와 최대 높이를 설정하십시오. 원격 이미지 크기가 설정 최대 값을 초과하면 스케일로 확장하고 직접 저장하십시오. 샘플 코드는 다음과 같습니다.
$ maxwidth = 800; $ maxHeight = 600; if ($ impliceMageWidth> $ maxWidth || $ impliceMageHeight> $ maxHeight) { // 스케일링 스케일을 계산합니다 $ scale = min ($ maxWidth / $ ormoteMageWidth, $ maxHeight / $ impliceAmageHeight); // 스케일 크기를 계산하십시오 $ newwidth = $ impliceMageWidth * $ scale; $ newHeight = $ impliceMageHeight * $ scale; // 새 빈 이미지 만들기 $ newImage = imageCreatetRueColor ($ newwidth, $ newHeight); // 원격 이미지를 새 이미지로 복사하고 imageCopyResAmped ($ newImage, imageCreatefromjpeg ($ ortomeMageUrl), 0, 0, 0, 0, $, $ newWidth, $ newHeight, $ ormeriMageWidth, $ impliceAmageHeight); // 로컬 서버에 새 이미지를 저장했습니다. imageJpeg ($ newImage, 'path/to/save/new-Image.jpg'); // free memory imageStroy ($ newImage); } 또 다른 { // 스케일링이 필요하지 않으므로 원격 이미지 사본을 저장합니다 ($ RemoteImageUrl, 'Path/To/Save/Remote-Image.jpg'); }
위의 방법을 사용하면 PHP를 사용하여 원격 사진을 저장하고 크기를 효과적으로 제한 할 수 있습니다. 이 방법을 사용하면 저장된 이미지가 합리적인 크기가되므로 서버 공간을 절약 할뿐만 아니라 웹 사이트의로드 효율도 향상시킵니다. 전체 프로세스에는 다음이 포함됩니다. 원격 이미지 크기 얻기, 최대 크기 설정, 스케일이 필요한지 여부를 결정하고 마지막으로 저장합니다.