태터툴스 사용자 질답 게시판에 가보면 심심찮게 파일 업로드가 작동 하지 않는다는 증상을
호소 하는 사용자들을 볼 수 있다.
나 역시 처음 태터툴스를 설치하고 첨부파일이 업로드 되지 않아 질답란에 문의 해 보았으나
뾰족한 해답은 찾을수가 없었다..
익숙하지도 않은 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';
-
$maxSize=
min(return_bytes
(ini_get('upload_max_filesize')),return_bytes
(ini_get('post_max_size')));?>
-
-
<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
-
echo (isset($service['flashuploader'])&&
$service['flashuploader']===
false)?
'false':
'true';?>
){ writeCode
(uploaderStr
);
}
-
}
-
//]]>
-
</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;
로 플래시 업로더를 비활성화 할 수 있다고 합니다.
댓글을 달아 주세요
서비님! ^^ 서비님 말씀하신대로 해봤는데요... 그래도 여전히 해결이 되질 않네요... ^^;;; 아예
2007/04/24 03:48Parse error: parse error, unexpected '?' in /home/hosting_users/ccume/www/tt/blog/owner/entry/post/index.php on line 147
이렇게 나오는데... ㅡ_ㅡ^ 어떻게 하죠?
jjungs님 테터툴스 버전이 어떻게 되시나요?
2007/04/24 09:56전 1.1.1.1 이후버전부터 사용해서.. 그 이후버전에서만 적용 해 봤습니다.
올려주신 에러 행의 제 쪽 소스를 보니
@mysql_query('SET SESSION collation_connection = \'utf8_general_ci\'');
if(function_exists('mysql_real_escape_string')&&(mysql_real_escape_string('ㅋ')=='ㅋ')){ <-- 147 라인 입니다.
function mysql_tt_escape_string($string,$link=null){
return is_null($link)?mysql_real_escape_string($string):mysql_real_escape_string($string,$link);
}
}else{
function mysql_tt_escape_string($string,$link=null){
return mysql_escape_string($string);
}
}
요런 내용이 기술되어 있네요..
제가 php쪽을 잘 아는건 아니지만 적어주신 에러내용은 문법오류이거나 변수에 값을 할당할때 나는 문제 같은데
위 소스와 비교해보면 제가 제안한 스크립트에서 폼엘리먼트를 못찾게 하는부분과의 연관성을 찾아볼 수가 없습니다.
혹 사용하시는 테더툴스 버전이 이전버전이 아니신지요..
저 에러가 페이지가 열리면서 나는건지 파일선택하고 업로드하면 나는건지도 궁금합니다.
jjungs님의 /home/hosting_users/ccume/www/tt/blog/owner/entry/post/index.php 의 147라인부근 코드가
어떤건지도 궁금해 집니다. ^^
확인해보니깐요...
2007/04/24 15:21@mysql_query('SET SESSION collation_connection = \'utf8_general_ci\'');
if(function_exists('mysql_real_escape_string')&&(mysql_real_escape_string('??)=='??)){ <-- 147 라인 입니다.
function mysql_tt_escape_string($string,$link=null){
return is_null($link)?mysql_real_escape_string($string):mysql_real_escape_string($string,$link);
이렇게 되어 있네요... ㅡ_ㅡ^
서비님것과 똑같이 복사해서 올렸더니... 오히려... 이런 글이...
2007/04/24 15:31Parse error: parse error, unexpected T_STRING in /home/hosting_users/ccume/www/tt/blog/owner/entry/post/index.php on line 1461
결국... 지금 포기하려는 중입니다.. ㅡ_ㅡ^
결국 복구하고... 일단 이대로 쓸 생각입니다. ㅡ_ㅡ^ 어도비 플래시 플레이어 9 activex 를 설치를 하지 않으면 되더군요... ㅡ_ㅡ^
2007/04/24 16:02파폭으로 일단 사용해야 겠네요. 신경써주셔서 감사합니다. ^^
도움이 못 되어드려 죄송합니다.
2007/04/26 13:57그래도 나름의 해결방안을 찾으셨다니 다행입니다.
저는 이대로 하니까 되는군요.
2007/05/07 22:58좋은 방법 고맙습니다~
steven 님 저의 얼렁뚱땅한 방법이 도움이
2007/05/08 01:33되었다니 감사합니다.
감사합니다
2007/06/08 17:44다른버전으로 갈아탈까 했는데 올려주신 팁보고 해결했습니다
uploade 이름을 다른걸로 바꿔줘도 잘작동 합니다. 감사합니다!
locate님 도움이 되셨다니 감사합니다.
2007/06/10 13:29덕분에 문제 해결했습니다. 플래시 플레이어 최신 버전과 mod_security와의 궁합 문제로 인해 발생하는 현상이란 것도 알게 되었고요. 아~ 정말 감사합니다. ^^
2007/06/27 07:05최신버전의 플래시플래이어의 보안쪽 설정이 근본적인 문제였군요..
2007/06/27 09:38문C님 덕분에 저도 하나 알게 되네요.. 감사합니다.
정말 감사합니다^^
2007/07/05 21:35따라하니까 되네요~
정말 정말 감사합니다!!
으하~ 덕분에 며칠간 고민하던 부분이 해결되었네요. 앓던 이가 빠진 것 만큼 시원하네요. 고맙습니다. :)
2007/11/26 15:36잘 되신다니 다행입니다.
2007/11/26 16:08안녕하세요.집답게시판에서 같은 증상으로 검색해서 요래저래 링크 타고 왔어요.
2007/12/21 15:02제가 완전 이쪽으로 잼병이라 꼼꼼히 읽어보고 따라해보려고 했는데
말씀하신 php파일은 찾는데 까지는 성공했으나 php를 어떻게 편집하고 저장하는지를 모르겠어요.
그리고 config.php가 어디있는지도 모르겠구요.
도와주세요. 서비님.
테터툴즈나 텍스트큐브를 FTP로 올리시기 전에 압축 푼 폴더 바로 아래에 config.php 파일이 있습니다.
2007/12/21 16:41메모장이나 워드프로세서 보다는 Edit plus나 Acroedit 같은 전문 편집기로 파일을 열어보시면 한결 보기 편하실 겁니다.
제 글 앞에 복잡하게 쓴 방법 보다는 간단한 방법은,
편집기로 config.php 파일을 열어보시면
$service['flashuploader'] = true;
라고 적혀 있는 부분을
$service['flashuploader'] = false;
로 바꿔 저장 하신 후 서버에 올리시면 될겁니다.
잘 해결 되면 좋겠네요.
사진에서 35mm님의 따듯한 시선이 느껴집니다. 잘 감상했습니다.
답변감사합니다.
2007/12/21 17:33다른 친구가 이미 설치해준 블로그에 무지한 제가 살짝살짝 바꾸기만 하는거라 제가 넘겨받기 전에 상태로 설명을 들으니 잘 모르겠습니다.
config.php 파일은 ftp://가장 상위 폴더에서 찾을수 있었는데 수정해야 할 부분은 없어보이구요 몇줄 짧게 내용이 들어있네요.
죄송하게도 제가 너무 모르는거 같아요
정말 됩니다 ㅎㅎ 대단한 글이군요.
2008/01/17 18:09그런데 그러면 mod_security 와 플래시 업로더와의 문제가 해결될때까지는
리눅스 사용자는 전부 파일을 한개씩 업로드 해야하는건가보네요 ㅠㅠ
나는 ë°°ì› ë‹¤ 매우…
2008/05/23 04:23걸출한 디자인! 좋은 디자인.
2008/05/23 04:52중대하고 유용한 위치!
2008/05/23 05:22너는 위치를차가운 만들었다!
2008/05/23 05:31좋은 영역! 걸출한 영역!
2008/05/23 06:59아주 유용한 정보!
2008/05/23 07:18저에서 유사한 역사는 이었다.
2008/05/23 07:45중대하고 유용한 위치!
2008/05/24 01:14아주 좋은 나는 위치 그것을 감사 좋아한다!
2008/05/24 01:22재미있는 아주 지점. 감사.
2008/05/24 01:25걸출한 블로그!
2008/05/24 01:42걸출한 위치! 많은 감사.
2008/05/24 02:56