>  기사  >  백엔드 개발  >  PHP를 사용하여 GIF를 동적으로 생성할 때 발생하는 문제와 해결 방법

PHP를 사용하여 GIF를 동적으로 생성할 때 발생하는 문제와 해결 방법

高洛峰
高洛峰원래의
2016-12-02 10:33:201162검색

PHP는 html 파일만 출력하도록 규정하지 않고 동적 gif 파일을 생성할 수 있습니다. php를 사용하여 gif 이미지를 동적으로 생성할 때 몇 가지 문제가 발생했는데, 이 문제는 php4.05(win32용) + apache3.1.2_win32를 사용하고 있습니다.


문제 1: gif를 동적으로 생성하는 프로그램이 전혀 켜지지 않습니다.

실행했을 때 php를 사용하여 gif를 생성하는 예를 작성했습니다. 페이지를 새로 고칠 수 없고 죽은 것 같으며 브라우저에 오류 메시지가 표시되지 않는 것으로 나타났습니다.

해결책: php가 있는 디렉토리에서 php.ini를 수정하세요

osso.com 회원 selo의 도움을 받아 php가 있는 경로에서 php.ini를 수정해야 한다고 들었습니다. php가 설치되어 있습니다(참고: php 경로 아래에 php.ini가 있어야 합니다). Extension_dir = php가 설치된 경로 확장자(예: c:phpextensions).

질문 2: php_gd.dll은 gif를 지원하지 않습니다

프로그램 시작 부분에 php_gd.dll 동적 링크 라이브러리를 로드했습니다: dl("php_gd.dll");


경고: ImageGif: d:apachehtdocsgif2.php312
.

해결책: php4.05 사용

그때 php_gd.dll이 gif 생성을 전혀 지원할 수 없다는 것이 책에 명시된 문제라는 것을 발견했습니다. 전문가의 안내를 받은 후 win32용 php4에는 php_gd_gif.dll이 부족하여 동적 gif 생성을 지원하는 php_gd_gif.dll이 포함된 상위 버전의 php4.05를 다운로드했습니다.

질문 3: 경고가 나타남: 경고: 함수 등록 실패 - 중복 이름 - d:apachehtdocsgif2.php3 3행의 imagearc

절차는 다음과 같습니다.

dl("php_gd_gif.dll");
header("content-type:image/gif");

$im = imagecreate(400,30); $black = imagecolorallocate ($im,0,0,0);
$white = imagecolorallocate($im,255,255,255)
imageline( $im,200,15,215,15,$white); imagestring($im , 5, 4, 10, "이것은 Gif입니다.", $white);

imagegif($im)

imagedestroy($im);


?> ;


해결 방법: 프로그램이나 php.ini를 수정하세요.

dl() 함수를 사용하여 dll을 로드하는데, 필수 앞에 ";"를 변경하면 php.ini 파일에 "제거된 경우 지금은 이 기능을 사용하지 마십시오.
ini 파일에서 Extension=php_gd_gif.dll 앞의 ";"가 제거되지 않은 경우 dl("php_gd_gif.dll")을 사용하여 로드해야 합니다. 그렇지 않으면 서버는 그것이 중복된 이름이라고 생각할 것입니다.

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