오늘은 대한입니다.
sun's longitude:299 40 8.81 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/delete.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
 ★ 글 지우기 항목입니다. 한번 더 생각하시고 결정하십시오.!!!
제목 5795 번 글의 답장글 : Re: Re: Re: 손톱이미지(Thumbnail Image)생성하는 djpeg 가 안먹히네요
 이름  산이 [홈]http://linuxchannel.net/

[강가딘]님이 남기신 글:

>[산이]님이 남기신 글:
>
>>
>>[강가딘]님이 남기신 글:
>>
>>>-----------------------------------------
>>>답변자가 기본적으로 참고할 내용입니다.
>>>- 배포판(옵션) :
>>>- 커널버전(옵션) :
>>>- 데몬버전(예:apache 1.3.27) :
>>>- 데몬설치유형(RPM/컴파일/기타) :
>>>-----------------------------------------
>>>서버계정에다가 올려놓고, 게정에서
>>>$> djpeg -pnm testimg.jpg > testimg_tmp.pnm
>>>$> pnmscale -xy 110 83 testimg.jpg_tmp.pnm | cjpeg -progressive -optimize -smooth
>>>20 -outfile thumb_testimg.jpg
>>>
>>>위의 명령을 주면,,,최종적으로 110,83사이즈의 섬네일이미징 thumb_testimg.jpg가 잘~~~생성됩니다..
>>>
>>>그런데 게시판 프로그램코드에 삽입하여서 파일업로드하니..
>>>원본업로드는 올라가는데,
>>>썸네일이미지가 생성이 안된에ㅛ..
>>>
>>>게시판 프로그램 코드에..
>>>exec( "djpeg -pnm $updir/$filename > $updir/$filename_tmp.pnm" );
>>>exec( "pnmscale -xy $thumb_x $thumb_y $updif/$filename_tmp.pnm | cjpeg -progressive -optimize -smooth 20 -outfile $updir/thumb_$filename" );
>>>명령을 실행했는데도..
>>>위의 thumbnail이미지가 생성되긴 생성됐는데 사이즈가 0바이트로 돼 있네요..
>>>
>>>참고로 위의 게시판썸네일생성하느 프로그램은..이전서버에서 잘 작동하던 거였는데 말입니다.
>>>
>>>이번에 서버새로업글하면서 레뎃9와 최신php로 설치하였는데,,
>>>그것땜시 안되나요??
>>>
>>>흐미..
>>
>>========================================
>>
>>command shell 과 PHP 가 실행되는 shell 환경이 서로 달라서 안되는 경우가 대부분입니다.
>>
>>즉 PATH 문제이거나 퍼미션 문제일 가능성이 높습니다.
>>
>>위의 djpeg 을 /usr/bin/djpeg 이렇게 절대경로로 지정하세요.
>>
>>그리고
>>
>>echo "/usr/bin/djpeg -pnm $updir/$filename > $updir/$filename_tmp.pnm"
>>
>>이런식으로 실제 명령어를 PHP가 execute 하기 전에 한번 디버깅해 보세요
>
>========================================
>
>command shell에서는 그냥 경로안줘도 잘 실행됩니다.
>커맨드셀에서의 경로와 웹의 경로설정이 다른건지..

일반 계정과 와 nobody 또는 apache 또는 www 와 같은 특수 시스템 계정의 시스템 환경변수가 서로 다릅니다.

>그로고 게시판프로그램에서 경로지정해서 /usr/bin/djpeg로 해도 안먹는군요..
>퍼미션이라고 하셨는데 djpeg를 할려면 해당 이미지 퍼미션이 얼마이상이 돼야하는건지???
>606이상이면 되는 거 아닌건지...
>
>그리고 레뎃9이나 php4.얼마버전부터 바뀐내용인건가??
>php프로그램으로 퍼미션을 변경해주면 퍼미션이 안바뀌지요??
>업로드 후,,
>exec("chmod 707 ) ...로 모드를 변경해도 모드별정이 안바껴지던데,,
>7007이 안되고 656인가 엉뚱한 모드로 돼 있던데...??
>

파일이면 0644 (-rw-r--r--)
디렉토리이면 0755 (drwxr-xr-x)

파일이 자신의 것인것만 chmod 가 가능합니다. exec() 의 return 값으로
성공여부를 반드시 확인해 보는 것이 좋습니다.

>
>그렇다면, djpeg를 사용할 수 있는 이미지대상의 퍼미션 모드는 정해진 게 있는건지..?
>대상이 되는 jpg이미지 파일의 사이즈가 정해져 있는건지??

앞서 얘기했드시 환경변수 차이이거나 권한(퍼미션)문제입니다.

-- xxx.php ----------
<?php
...
...
if(!is_readable($updir/$filename)) echo "읽기 권한 없음";

$r = exec( "djpeg -pnm $updir/$filename > $updir/$filename_tmp.pnm" );

if(!$r) echo "실행 실패";
if(filesize("$updir/$filename_tmp.pnm")<1) echo "파일생성 실패";
...
...
?>

이런식으로 exec()가 모두 끝날때까지 하나하나씩 디버깅해 보세요.
2005년 02월 02일 00:18:56 수(새벽)  from 211.243.181.98
0
암호: 공용 보안 SSL 서버가 준비되기 전까지는 off 합니다

apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds