태터툴스 사용자 질답 게시판에 가보면 심심찮게 파일 업로드가 작동 하지 않는다는 증상을
호소 하는 사용자들을 볼 수 있다.
나 역시 처음 태터툴스를 설치하고 첨부파일이 업로드 되지 않아 질답란에 문의 해 보았으나
뾰족한 해답은 찾을수가 없었다..
익숙하지도 않은 php랑 씨름하기도 귀찮고 해서 이미지 파일이야 갤러리에 올린 후 링크로 글을 작성 하는 형태로 그럭저럭 포스팅하고 있었다..
하지만 이 정전 협정은 그리 오래가지 못했으니…
문제는 내 사진이 아닌 이미지를 포스팅 할 일이 생기면서 발생한다.
내가 촬영한 이밎도 아닌것을 내 갤러리에 올리고 포스팅을 작성하는건 왠지 꺼름칙하다..
다시한번 태터 사용자 홈의 질답란을 꼼꼼히 훑어 보기 시작했다..
역시나 도움이 되는 얘긴 없다..
짜증나지만 php소스를 또 봐야 한다니..
결국, 우회책을 찾아내었고 이렇게 해결책을 제시하니 업로드문제로 고생하시는 분들은
참고 히시어 조금이나마 스트레스를 덜어 보길 바란다.
우선 태터툴스 에서 글을 작성하면서 파일을 업로드 할 수 있는 부분은
새 포스팅을 작성 할 때와 포스트를 수정 할 때이다.
각각의 소스는
[계정의 태터툴스 설치 디렉토리]/tt/blog/owner/entry/post/index.php 와
[계정의 태터툴스 설치 디렉토리]/tt/blog/owner/entry/edit/item.php
이다.
각각 1879라인과 1900 라인 쯤을 보면( 그냥 파일열고 찾기(Ctrl+F) 로 ‘uploaderNest’를
찾는게 빠를것이다. ) 아래와같은 코드가 존재한다.
-
<?php
-
require_once ‘../../../../script/detectFlash.inc’;
-
-
<div id=“uploaderNest”>
-
<script type=“text/javascript”>
-
//<![CDATA[
-
var requiredMajorVersion = 8;
-
var requiredMinorVersion = 0;
-
var requiredRevision = 0;
-
var jsVersion = 1.0;
-
-
var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
-
uploaderStr = ‘<object classid=”clsid:D27CDB6E-AE6D-11cf-96B8-444553540000″ id=”uploader”‘
-
+ ‘width=”0″ height=”0″‘
-
+ ‘codebase=”http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab”>’
-
+ ‘<param name=”movie” value=”<?php
-
echo $service[‘path‘];?>/script/uploader/uploader.swf” /><param name=”quality” value=”high” /><param name=”bgcolor” value=”#ffffff” /><param name=”scale” value=”noScale” /><param name=”wmode” value=”transparent” /><param name=”FlashVars” value=”uploadPath=<?php
-
echo $param[‘uploadPath‘];?>&labelingPath=<?php
-
echo $param[‘labelingPath‘];?>&maxSize=<?php
-
echo $maxSize;?>&sessionName=TSSESSION&sessionValue=<?php
-
echo $_COOKIE[‘TSSESSION‘];?>” />’
-
+ ‘<embed id=”uploader2″ src=”<?php
-
echo $service[‘path‘];?>/script/uploader/uploader.swf” flashvars=”uploadPath=<?php
-
echo $param[‘uploadPath‘];?>&labelingPath=<?php
-
echo $param[‘labelingPath‘];?>&maxSize=<?php
-
echo $maxSize;?>&sessionName=TSSESSION&sessionValue=<?php
-
echo $_COOKIE[‘TSSESSION‘];?>” width=”1″ height=”1″ align=”middle” wmode=”transparent” quality=”high” bgcolor=”#ffffff” scale=”noScale” allowscriptaccess=”sameDomain” type=”application/x-shockwave-flash” pluginspage=”http://www.macromedia.com/go/getflashplayer” /><\/embed><\/object>’;
-
-
if (hasRightVersion && (isMoz || isIE)) {
-
if(<?php
-
}
-
//]]>
-
</script>
-
</div>
익스플로러와 익스플로러가이닌 브라우저에 대한 플래시 오브젝트를 삽입 해 주는
구문이 보인다. 여기서 id=”uploader” 와 id=”uploader2″ 값이 보일텐데 이 값을
바꿔주면된다.
id=”uploader” 를 id=”uploader3″ 로
id=”uploader2″ 를 id=”uploader” 로 말이다.(한마디로 스크립트에서 이 dom 객체를 찾을 수 업도록 해버린다. )
그런다음 두 파일을 저장 한 후 관리자 로그인 해서 글쓰기나 글 수정에 들어가 보면
업로드 버튼이 플래시 아이콘이 아닌 일반 브라우저용 아이콘으로 바뀌어있으며 파일 업로드도 잘 될것이다.
2007.08.22. 추가
TNF 포럼에 config.php를 수정하는 방법이 올라와 있네요.
http://forum.tattersite.com/ko/viewtopic.php?id=3542
config.php의
$service[‘flashuploader’] = false;
로 플래시 업로더를 비활성화 할 수 있다고 합니다.
18 Comments
Add Yours →서비님! ^^ 서비님 말씀하신대로 해봤는데요… 그래도 여전히 해결이 되질 않네요… ^^;;; 아예 nParse error: parse error, unexpected ‘?’ in /home/hosting_users/ccume/www/tt/blog/owner/entry/post/index.php on line 147n이렇게 나오는데… ㅡ_ㅡ^ 어떻게 하죠?
jjungs님 테터툴스 버전이 어떻게 되시나요?n전 1.1.1.1 이후버전부터 사용해서.. 그 이후버전에서만 적용 해 봤습니다.nn올려주신 에러 행의 제 쪽 소스를 보니 nn@mysql_query(‘SET SESSION collation_connection = \’utf8_general_ci\”);nif(function_exists(‘mysql_real_escape_string’)&&(mysql_real_escape_string(‘ㅋ’)==’ㅋ’)){ <-- 147 라인 입니다.nfunction mysql_tt_escape_string($string,$link=null){nreturn is_null($link)?mysql_real_escape_string($string):mysql_real_escape_string($string,$link);n}n}else{nfunction mysql_tt_escape_string($string,$link=null){nreturn mysql_escape_string($string);n}n}nn요런 내용이 기술되어 있네요..n제가 php쪽을 잘 아는건 아니지만 적어주신 에러내용은 문법오류이거나 변수에 값을 할당할때 나는 문제 같은데n위 소스와 비교해보면 제가 제안한 스크립트에서 폼엘리먼트를 못찾게 하는부분과의 연관성을 찾아볼 수가 없습니다.nn혹 사용하시는 테더툴스 버전이 이전버전이 아니신지요..n저 에러가 페이지가 열리면서 나는건지 파일선택하고 업로드하면 나는건지도 궁금합니다.njjungs님의 /home/hosting_users/ccume/www/tt/blog/owner/entry/post/index.php 의 147라인부근 코드가n어떤건지도 궁금해 집니다. ^^
확인해보니깐요…nn@mysql_query(‘SET SESSION collation_connection = \’utf8_general_ci\”);nif(function_exists(‘mysql_real_escape_string’)&&(mysql_real_escape_string(‘??)==’??)){ <-- 147 라인 입니다.nfunction mysql_tt_escape_string($string,$link=null){nreturn is_null($link)?mysql_real_escape_string($string):mysql_real_escape_string($string,$link);nn이렇게 되어 있네요... ㅡ_ㅡ^
서비님것과 똑같이 복사해서 올렸더니… 오히려… 이런 글이…nParse error: parse error, unexpected T_STRING in /home/hosting_users/ccume/www/tt/blog/owner/entry/post/index.php on line 1461n결국… 지금 포기하려는 중입니다.. ㅡ_ㅡ^
결국 복구하고… 일단 이대로 쓸 생각입니다. ㅡ_ㅡ^ 어도비 플래시 플레이어 9 activex 를 설치를 하지 않으면 되더군요… ㅡ_ㅡ^n파폭으로 일단 사용해야 겠네요. 신경써주셔서 감사합니다. ^^
도움이 못 되어드려 죄송합니다.n그래도 나름의 해결방안을 찾으셨다니 다행입니다.
저는 이대로 하니까 되는군요.n좋은 방법 고맙습니다~
steven 님 저의 얼렁뚱땅한 방법이 도움이 n되었다니 감사합니다.
감사합니다 nn다른버전으로 갈아탈까 했는데 올려주신 팁보고 해결했습니다 nnuploade 이름을 다른걸로 바꿔줘도 잘작동 합니다. 감사합니다!
locate님 도움이 되셨다니 감사합니다.
덕분에 문제 해결했습니다. 플래시 플레이어 최신 버전과 mod_security와의 궁합 문제로 인해 발생하는 현상이란 것도 알게 되었고요. 아~ 정말 감사합니다. ^^
최신버전의 플래시플래이어의 보안쪽 설정이 근본적인 문제였군요..n문C님 덕분에 저도 하나 알게 되네요.. 감사합니다.
정말 감사합니다^^n따라하니까 되네요~nn정말 정말 감사합니다!!
으하~ 덕분에 며칠간 고민하던 부분이 해결되었네요. 앓던 이가 빠진 것 만큼 시원하네요. 고맙습니다. 🙂
잘 되신다니 다행입니다.
안녕하세요.집답게시판에서 같은 증상으로 검색해서 요래저래 링크 타고 왔어요.nn제가 완전 이쪽으로 잼병이라 꼼꼼히 읽어보고 따라해보려고 했는데nn말씀하신 php파일은 찾는데 까지는 성공했으나 php를 어떻게 편집하고 저장하는지를 모르겠어요.nn그리고 config.php가 어디있는지도 모르겠구요.nn도와주세요. 서비님.
테터툴즈나 텍스트큐브를 FTP로 올리시기 전에 압축 푼 폴더 바로 아래에 config.php 파일이 있습니다.n메모장이나 워드프로세서 보다는 Edit plus나 Acroedit 같은 전문 편집기로 파일을 열어보시면 한결 보기 편하실 겁니다. nn제 글 앞에 복잡하게 쓴 방법 보다는 간단한 방법은,n편집기로 config.php 파일을 열어보시면 n$service[‘flashuploader’] = true;n라고 적혀 있는 부분을n$service[‘flashuploader’] = false;n로 바꿔 저장 하신 후 서버에 올리시면 될겁니다.nn잘 해결 되면 좋겠네요.n사진에서 35mm님의 따듯한 시선이 느껴집니다. 잘 감상했습니다.
답변감사합니다. n다른 친구가 이미 설치해준 블로그에 무지한 제가 살짝살짝 바꾸기만 하는거라 제가 넘겨받기 전에 상태로 설명을 들으니 잘 모르겠습니다.nnconfig.php 파일은 ftp://가장 상위 폴더에서 찾을수 있었는데 수정해야 할 부분은 없어보이구요 몇줄 짧게 내용이 들어있네요.nn죄송하게도 제가 너무 모르는거 같아요