미채택 완료

파일이 아닙니다.

2017-01-24 (화) 09:44:50 3,880
Copy
<?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("&gt;", ">", str_replace("&lt;", "<", stripslashes($_POST[wr_content])));	$patten = "/<img[^>]*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 = '".mysql_real_escape_string(trim($img_content))."' where wr_id = '".$wr_id."'";		sql_query($sql);	}	} ?>

를 이용해서 
외부에서 이미지등을 복사한것을 그대로 붙여넣기해서 게시판에 글을 작성햇을시에 
이미지를 우리 서버에 저장을 시키는 형식으로 저 코드를 넣엇는데요.

어떤 글에는 안먹혀서 테스트를 해보니깐
home/hosting_users/땡땡/www/data/editor/201701/1485166345_419.jpg은 파일이 아닙니다.
라고 뜹니다.

왜 그럴까요.....


|

답변 1개

2017-01-31 (화) 09:59:23

본인 서버에 파일이 있는지 부터 확인해보시구요

없다면 복사 제대로 해오지 못하는 상황입니다.

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