변태스타킹 님의
외부 이미지 썸네일 최신글 갤러리
소스를 웹진게시판에서 고맙게도 잘 쓰고 있습니다.
이걸 이용해서 이미지가 있기도 하고 없기도 한 뉴스 형식의 게시판을 따로 만들려고 합니다.
업로드한 이미지가 있을수도 있고,
외부 이미지가 링크 된 경우도 있고,
아예 이미지가 없는 경우도 있는데,
이미지가 없는 경우는 꼭 이 부분에서 에러가 나는군요.
if (!file_exists($file_download)) {
copy($src, $file_download);
이미지가 없는 겅우에도 이미지가 없는대로 이미지를 표시하지 않고 사용할수 있도록 좀 도와주십시오.
아래는 변태스타킹님의 소스입니다.
Copy
<?php
for ($i=0; $i<count($list); $i++) {
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
if($thumb['src']) {
$img = $thumb['src'];
// 외부 이미지 썸네일 만들기 {
} else if($url_img = get_editor_image($list[$i]['wr_content'])) {
$img_src = $url_img[1][0];
preg_match("/src=[\'\"]?([^>\'\"]+[^>\'\"]+)/i", $img_src, $m);
$src = htmlspecialchars_decode($m[1]);
preg_match("/alt=[\"\']?([^\"\']*)[\"\']?/", $img_src, $m);
$alt = get_text($m[1]);
$filename = hash("sha256", $src);
$source_path = $target_path = G5_DATA_PATH.'/file/'.$bo_table;
$file_download = $target_path."/".$filename;
if (!file_exists($file_download)) {
copy($src, $file_download);
}
$thumb_src = thumbnail($filename, $source_path, $target_path, $thumb_width, $thumb_height, false, true);
$img = G5_DATA_URL.'/file/'.$bo_table.'/'.$thumb_src;
$thumb['alt'] = $alt;
// } 외부 이미지 썸네일 만들기
} else {
$img = G5_IMG_URL.'/no_img.png';
$thumb['alt'] = '이미지가 없습니다.';
}
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
?>
답변 1개 / 댓글 3개
채택된 답변
+20 포인트
5년 전
Copy
if (!file_exists($file_download)) {
copy($src, $file_download);
} else {
copy($default_src, $file_download);
}
답변에 대한 댓글 3개
5년 전
5년 전
죄송합니다. 이부분은 다운로드 관련 부분이네요..
$img_src 가 "" 이면 $img_src에 디폴트 이미지를 넣어 보세요..
상세한 것은 디버깅으로 각 변수를 찍어 보시는 것을 추천드립니다
$img_src 가 "" 이면 $img_src에 디폴트 이미지를 넣어 보세요..
상세한 것은 디버깅으로 각 변수를 찍어 보시는 것을 추천드립니다
답변을 작성하려면 로그인이 필요합니다.
그런데, 이미지가 아예 없는 경우는 여전히
Warning: copy(): Filename cannot be empty in /storage/emulated/0/htdocs/gym5/skin/board/basic_zine/list.skin.php on line 80
라는 에러 메시자가 나오네요.
지적된 라인이 이 부분입니다.
copy($src, $file_download);
좋은 방법이 없을까요?