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

외부이미지 서버에저장 채택완료

초보엄마 3년 전 조회 2,339

https://sir.kr/g5_tip/2657" rel="nofollow" target="_blank">https://sir.kr/g5_tip/2657 

 

write_update.skin.php

 

function save_remote_image($url, $save_path) {     $ch = curl_init ($url);     curl_setopt($ch, CURLOPT_HEADER, 0);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);     curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);     $data=curl_exec($ch);     curl_close ($ch);          $chars_array = array_merge(range(0,9), range('a','z'), range('A','Z'));     $filename = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", basename($url));     shuffle($chars_array);     $shuffle = implode("", $chars_array);     $change_filename = abs(ip2long($_SERVER[REMOTE_ADDR])).'_'.substr($shuffle,0,8).'_'.str_replace('%', '', urlencode(str_replace(' ', '_', $filename)));      $out_path = $save_path.$change_filename;          if(file_exists($out_path)) @unlink($out_path);     $fp = fopen($out_path,'x');     fwrite($fp, $data);     fclose($fp);          return $change_filename; }

if ($w == '' || $w == 'r'){

    $data_dir = G5_DATA_PATH.'/file/'.$bo_table.'/';     $data_url = G5_DATA_URL.'/file/'.$bo_table.'/';          $img_content = str_replace(">", ">", str_replace("<", "<", stripslashes($_POST[wr_content])));     $patten = "/]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i";     preg_match_all($patten, $img_content, $match);           if ($match[1]) {         foreach ($match[1] as $link) {             $url = parse_url($link);             if ($url[host] && $url[host] != $_SERVER[HTTP_HOST]) {                 $img_content = str_replace($link, ($data_url.save_remote_image($link, $data_dir)), $img_content);             }         }                  $sql = "update ".$write_table." set wr_content = '".sql_real_escape_string(trim($img_content))."' where wr_id = '".$wr_id."'";         sql_query($sql);     }      }

?>

 

 

외부이미지 서버에 저장 위에 팁을 이용해서 사용했는데요....

 

외부이미지중 gif 파일은 빼고 저장하는 방법이있을까요?

 

알려주시면 감사하겠습니다....

 

 

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

답변 2개

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

 foreach ($match[1] as $link) {

   if( strpos($link , ".gif" ) !==false) continue; //<--------- 추가

 

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

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

toqurk
3년 전

https://seoneu.tistory.com/29

내용을 체크 하시고..확장자를 찾아서 조건(switch, if) 문 쓰셔서 막으시면 될것같은데요??

 

쉽게

 

$fileTypeExt = explode("/", $_FILES['imgFile']['type']);

$fileExt = $fileTypeExt[1]; //파일 확장자

 

if($fileExt == "gif"){

허용

}else{

경고 막고 팅겨내기

}

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

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

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

로그인