테스트 사이트 - 개발 중인 베타 버전입니다

외부이미지 저장관련 질문좀 드릴게요 채택완료

pangb 8년 전 조회 3,341

untitled님의 외부이미지 저장 팁 (1번 게시판)

http://sir.kr/g5_tip/2657?sfl=wr_subject%7C%7Cwr_content&stx=%EC%99%B8%EB%B6%80">http://sir.kr/g5_tip/2657?sfl=wr_subject%7C%7Cwr_content&stx=%EC%99%B8%EB%B6%80 

 

untitled님의 유투브 게시판 (2번 게시판)

http://sir.kr/g5_skin/8543?sfl=wr_name%2C1&stx=untitled">http://sir.kr/g5_skin/8543?sfl=wr_name%2C1&stx=untitled 

 

 

 

1번게판에는 외부이미지 write_update.skin.php 파일만 basic스킨에 넣었구요

 

2번 유투브게시판의 경우에는 정상적으로 설치하여 사용중에 있습니다 

 

 

2번 유투브 게시판을 설치전에는 1번게시판이 정상적으로 

 

외부이미지 저장이 되었는데요! 

 

유투브 스킨을 설치후부터 1번게시판 글작성후 저장을 클릭하게되면

 

/bbs/write_update.php에서 list로 넘어가지 않고 그냥 하얀화면으로 오류가 발생하네요 

 

 

1번게시판 스킨에서 write_update.skin.php 파일을 삭제후에 

 

글을 쓰면 다시 정상적으로 되구요

 

제가 초보라 자세히 부탁드릴게요 ..

 

 

1번 게시판 write_update.skin.php

 

</p><p> <?php</p><p>//ver1.0 150410 @_untitle_d</p><p> </p><p> </p><p>function save_remote_image($url, $save_path)</p><p>{</p><p>    $ch = curl_init ($url);</p><p>    curl_setopt($ch, CURLOPT_HEADER, 0);</p><p>    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);</p><p>    curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);</p><p>    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);</p><p>    $data=curl_exec($ch);</p><p>    curl_close ($ch);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$chars_array = array_merge(range(0,9), range('a','z'), range('A','Z'));</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$filename = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", basename($url));</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>shuffle($chars_array);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$shuffle = implode("", $chars_array);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$change_filename = abs(ip2long($_SERVER[REMOTE_ADDR])).'_'.substr($shuffle,0,8).'_'.str_replace('%', '', urlencode(str_replace(' ', '_', $filename))); </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$out_path = $save_path.$change_filename;</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p>    if(file_exists($out_path)) @unlink($out_path);</p><p>    $fp = fopen($out_path,'x');</p><p>    fwrite($fp, $data);</p><p>    fclose($fp);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>return $change_filename;</p><p>}</p><p> </p><p> </p><p> </p><p>if ($w == '' || $w == 'r'){</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$data_dir = G5_DATA_PATH.'/file/'.$bo_table.'/';</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$data_url = G5_DATA_URL.'/file/'.$bo_table.'/';</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$img_content = str_replace(">", ">", str_replace("<", "<", stripslashes($_POST[wr_content])));</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$patten = "/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i";</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>preg_match_all($patten, $img_content, $match); </p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>if ($match[1]) {</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>foreach ($match[1] as $link) {</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>$url = parse_url($link);</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>if ($url[host] && $url[host] != $_SERVER[HTTP_HOST]) {</p><p><span class="Apple-tab-span" style="white-space:pre">				</span>$img_content = str_replace($link, ($data_url.save_remote_image($link, $data_dir)), $img_content);</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>}</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>}</p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$sql = "update ".$write_table." set wr_content = '".sql_real_escape_string(trim($img_content))."' where wr_id = '".$wr_id."'";</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>sql_query($sql);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>}</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p>}</p><p> </p><p> </p><p> </p><p>?></p><p>

 

 

 

 

2번 유투브 게시판 write_update.skin.php 소스입니다 

</p><p><?php</p><p>if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p><p> </p><p>//ver1.0 150723 @_untitle_d</p><p> </p><p> </p><p> </p><p>if ($wr_link1)</p><p>{<span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$yt_id = get_youtube_id(trim($wr_link1));</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" update {$write_table} set wr_1 = '{$yt_id}' where wr_id = '{$wr_id}' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$return = get_youtube_info($yt_id);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$yt_title = $return['items'][0]['snippet']['title'];</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$yt_thumb = $return['items'][0]['snippet']['thumbnails']['high']['url'];</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$url = parse_url($yt_thumb);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>if ($url['host'])</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>{</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$data_dir = G5_DATA_PATH.'/file/'.$bo_table.'/';</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$data_url = G5_DATA_URL.'/file/'.$bo_table.'/';</p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$sri = save_remote_image($yt_thumb, $data_dir);</p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$jpg_info = exif_read_data($data_dir.$sri);</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$sql_common = " bf_source = '{$sri}',</p><p><span class="Apple-tab-span" style="white-space:pre">						</span>bf_file = '{$sri}',</p><p><span class="Apple-tab-span" style="white-space:pre">						</span>bf_filesize = '{$jpg_info['FileSize']}',</p><p><span class="Apple-tab-span" style="white-space:pre">						</span>bf_width = '{$jpg_info['COMPUTED']['Width']}',</p><p><span class="Apple-tab-span" style="white-space:pre">						</span>bf_height = '{$jpg_info['COMPUTED']['Height']}',</p><p><span class="Apple-tab-span" style="white-space:pre">						</span>bf_type = '{$jpg_info['FileType']}',</p><p><span class="Apple-tab-span" style="white-space:pre">						</span>bf_datetime = '".G5_TIME_YMDHIS."' ";</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>}else</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>$sql_common = " bf_source = '', bf_file = '', bf_filesize = '0', bf_width = '0', bf_height = '0', bf_type = '0', bf_datetime = '".G5_TIME_YMDHIS."' ";</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$row = sql_fetch(" select count(*) as cnt from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '0' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>if ($row['cnt'])</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>sql_query(" update {$g5['board_file_table']} set {$sql_common} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '0' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>else</p><p>    <span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" insert into {$g5['board_file_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', bf_no = '0', bf_download = 0, {$sql_common} ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$row = sql_fetch(" select count(*) as cnt from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" update {$write_table} set wr_file = '{$row['cnt']}' where wr_id = '{$wr_id}' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>//if ($wr_subject == 'y' or $wr_subject == 'ㅛ')</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>//<span class="Apple-tab-span" style="white-space:pre">	</span>sql_querby(" update {$write_table} set wr_subject = '".mysql_real_escape_string($yt_title)."' where wr_id = '{$wr_id}' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p>}else{</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" update {$write_table} set wr_1 = '' where wr_id = '{$wr_id}' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '0' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" update {$g5['board_file_table']} set bf_source = '', bf_file = '', bf_filesize = '0', bf_width = '0', bf_height = '0', bf_type = '0', bf_datetime = '".G5_TIME_YMDHIS."' where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '0' ");</p><p><span class="Apple-tab-span" style="white-space:pre">	</span></p><p>}</p><p> </p><p> </p><p> </p><p> </p><p> </p><p>if ($wr_2){</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$link = '<a href="<a href="http://vd.whiteholic.net/" target="_blank" rel="noopener noreferrer">http://vd.whiteholic.net/</a>"><a href="http://vd.whiteholic.net/" target="_blank" rel="noopener noreferrer">http://vd.whiteholic.net/</a></a>'.base64_encode(trim($wr_2));</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" update {$write_table} set wr_link2 = '{$link}' where wr_id = '{$wr_id}' ");</p><p>}else{</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" update {$write_table} set wr_link2 = '' where wr_id = '{$wr_id}' ");</p><p>}</p><p> </p><p> </p><p> </p><p> </p><p> </p><p>sql_query(" update {$write_table} set wr_3 = '".$pic_ratio1."|".$pic_ratio2."', wr_4 = '".$autoplay1."|".$autoplay2."' where wr_id = '{$wr_id}' ");</p><p> </p><p> </p><p> </p><p> </p><p>?></p><div>
</div><p>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
8년 전

write_update.skin.php 파일에서 여기 삭제.

function save_remote_image($url, $save_path){} 

 

참고 내용 (코멘트 글)

http://sir.kr/g5_tip/3116">http://sir.kr/g5_tip/3116 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

p
pangb
8년 전
작은별님 항상 감사드려요 ^^


오늘도 즐거운 하루되세요:)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인