php7관련 질문 채택완료
php5.3에서 php 7.0으로 바꾸면서
외부이미지 저장하는 소스가 안먹히는것 같아서 보니깐
$sql = "update ".$write_table." set wr_content = '".mysql_real_escape_string(trim($img_content))."' where wr_id = '".$wr_id."'";
sql_query($sql);
요 부분이 문제인것 같아서
mysql_real_escape_string 대신에 mysqli_real_escape_string를 했더니
에러는 없는데
안에 내용을 쓰고 글 등록을 했는대도 게시글이 없는것 처럼
나오더라구요..
어떻게 고쳐야될까요?
풀 소스입니다.
</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 = '".mysql_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>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
8년 전
mysqli_real_escape_string에는 DB링크가 필요합니다.
mysql_real_escape_string($g5['connect_db'], trim($img_content))
로 소스를 바꾸어보세요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
8년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
답변대기
채택
채택
채택
답변대기
답변대기
답변대기
채택
답변대기
답변대기
채택
채택
채택
답변대기
채택
채택
답변대기
이케 하니깐 되네요 ㅎㅎ