>백엔드 개발 >PHP 튜토리얼 >초기화 실패 PHP 일괄 확대/축소 이미지 코드 [ini 매개변수 제어]

초기화 실패 PHP 일괄 확대/축소 이미지 코드 [ini 매개변수 제어]

WBOY
WBOY원래의
2016-07-29 08:44:23745검색

먼저 ini 파일을 사용하여 크기를 조정합니다. 너비나 높이가 0이면 이미지가 확대되거나 축소됩니다. 둘 다 0이면 원래 크기로 유지됩니다. 지정된 크기로 늘어납니다.
참고: ini 파일은 PHP로 해석될 때 주석 파일이며 아무것도 출력되지 않습니다. 이는 보안상의 이유로 의도적으로 수행됩니다. 그리고 ;은 ini 파일의 주석입니다.
내가 설정한 ini 파일 예시는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.


/*
;원본 이미지 크기를 사용하여 이미지 형식을 번역합니다.
[Translation]
width=0
height=0
;이미지를 지정된 크기
[Stretch]
width=800
height=600
;높이 자동 크기를 사용하여 이미지를 지정된 너비로 확대합니다.
[AutoHeight]
width=740
height=0
;너비 자동 크기를 사용하여 지정된 높이로 이미지 확대
[AutoWidth]
width=0
height=380
*/
?>

다음은 이미지를 확대하기 위해 작성된 PHP 코드입니다. 여기서 변수 클래스는 배열이며 ini 파일에 지정된 설정을 원하는 만큼 선택할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

$oimg = "test.jpg";//원본 이미지 이름
$classes = array('Translation','AutoHeight','AutoWidth', 'Stretch');//지정된 ini 파일에 정의된 새 생성 이미지 크기에 대한 클래스 제공
$suffix = 'jpg' ;//새 이미지의 접미사
$inifile = 'image.ini .php'
$size = getimagesize($oimg)
$x = $size[0]/$size[1] ;
$name =explore('.',$oimg);
if(!file_exists($inifile)) die('Ini 파일이 존재하지 않습니다!'); inifile,true);//ini 파일에서 클래스 스타일 이미지 크기를 구문 분석합니다.
foreach($classes as $class){
foreach($cn as $k=>$v){
if( $k==$class){
if($v[' width'] && $v['height']){
$thumbWidth = $v['width']
$thumbHeight = $v['높이'];
}elseif($v[ '너비']){
$thumbWidth = $v['너비']
$thumbHeight = round($thumbWidth/$x );
}elseif($v['height']){
$thumbHeight = $v['height']
$thumbWidth = round($thumbHeight*$x); else{
$thumbWidth = $size[0]
$thumbHeight = $size[1]
break
}
if(!isset ($thumbHeight) && !isset($thumbWidth)) die('Ini 파일 설정 오류!')
$nimg = $name[0].'_'.$class.'.'.$suffix;/ /새 이미지 파일 이름
$source = imagecreatefromjpeg($oimg);
$thumb = imagecreatetruecolor($thumbWidth, $thumbHeight)
imagecopyresampled($thumb,$source,0,0,0,0 ,$thumbWidth,$thumbHeight,$size[0],$size[1 ])
if($suffix=='jpg') $method = 'imagejpeg'
else $method='image' .$suffix;
$method($thumb, $nimg);
imagedestroy($thumb);//이미지 소스 해제
imagedestroy($source); ;


위 내용은 초기화 실패 내용을 포함하여 초기화 실패 PHP 배치 스케일링 이미지 코드 [ini 매개변수 제어]를 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.