이전에 강좌로 하던 함수를 모닝님의 요청으로 조금 수정햇습니다.
원격이미지의 썸네일 만드는 기능도 포함하였습니다.
해당 라이브러리를 필요한 곳에 인클루드 하시고.
create_thumbnail('http://apmusers.com/tt/attach/1/1267047665.jpg', 'a.png', 50); 나
create_thumbnail('./attach/1/1267047665.jpg', 'a.png', 50); 등로 사용하면 됩니다.
자세한 옵션이나 설명은 라이브러리 파일내에 포함되어있습니다.
댓글 30개
에구... 이번버전은 돌아가기는 하지만,
확인하고싶은 것이 있습니다.
function extract_img($src) {
$re = '/src[ =]+[\'"]([^\'"]+\.(?:gif|jpg|jpeg|png|bmp))[\'"]/i';
preg_match_all($re, $src, &$match, PREG_PATTERN_ORDER);
return $match[1];
}
//본문에 링크한 이미지 레코드별 배열
$dest_link[] = array( 'wr_id' => $list[$i]['wr_id'], 'url' => extract_img($list[$i]['wr_content']));
//print_r2($dest_link[$i]);
$url = $dest_link[$i]['url']['0'];//첫번째 링크된 이미지, 두번째는 $dest_link[$i]['url'][1]
-------------
위와 같은 방식으로 에딛그림(웹그림)을 불러왔는데,
이방식을 그대로 사용해야 하는가요?
아니면 여기 썸네일 소스에 준비된 다른 방식이 있는가요?
확인하고싶은 것이 있습니다.
function extract_img($src) {
$re = '/src[ =]+[\'"]([^\'"]+\.(?:gif|jpg|jpeg|png|bmp))[\'"]/i';
preg_match_all($re, $src, &$match, PREG_PATTERN_ORDER);
return $match[1];
}
//본문에 링크한 이미지 레코드별 배열
$dest_link[] = array( 'wr_id' => $list[$i]['wr_id'], 'url' => extract_img($list[$i]['wr_content']));
//print_r2($dest_link[$i]);
$url = $dest_link[$i]['url']['0'];//첫번째 링크된 이미지, 두번째는 $dest_link[$i]['url'][1]
-------------
위와 같은 방식으로 에딛그림(웹그림)을 불러왔는데,
이방식을 그대로 사용해야 하는가요?
아니면 여기 썸네일 소스에 준비된 다른 방식이 있는가요?
음......
경우에 따라 쓰기 나름이라서.........
공통적인 함수를 만들기는 애매합니다.
그냥 필요에 따라 모닝님 처럼 적당히 만들어서 사용해야 합니다.
예를 한가지 든다면.......
리스트에서 내용 사용으로 체크되어있는
리스트 스킨에서 사용한다고 가정하고
첨부 파일에 이미지가 있음 그것으로 대표 썸네일 이미지로 만들고
본문 내용중에 이미지 태그가 있으면 이미지 주소를 뽑아와서 그것으로
대표 썸네일 이미지를 만들겟다고 한다면.......
$save_w = 150;//저장될 썸네일 너비
$save_h = 0;//너비에 따라 높이 자동 조절
$options = Array();
$options['save_force'] = 1;
$options['crop_use'] = 0;
$path_save_dir = $g4['path'] . '/data/file/' . $bo_table . '/thumbnail;
if (!is_dir($path_save_dir)) {
@mkdir($path_save_dir);
@chmod($path_save_dir, 0777);
}
for ($i=0; $i<count($list); $i++) {
$list[$i]['thumbnail'] = '';
$path_save_file = $path_save_dir . '/list_' . $list[$i]['wr_id'] . '.png';
if (!is_file($path_save_file)) {
foreach($list[$i]['file'] as $k => $v) {
if (preg_match("`\.(gif|jpe?g|png)$`i", $v[source])) {
if (create_thumbnail($v['file'], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
break;
}
}
}
if (empty($list[$i]['thumbnail']) && !empty($list[$i]['wr_content']) && preg_match("`src\s*=([^>]+\.(gif|jpe?g|png))('|\"|\s|>)`iU", $list[$i]['wr_content'], $m)) {
$m[1] = preg_replace("`[\s\"']+`", '', $m[1]);
if (!empty($m[1])) {
if (create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
}
}
}
}
else {
$list[$i]['thumbnail'] = $path_save_file;
}
........
if (!empty($list[$i]['thumbnail'])) echo "<img src='" . $list[$i]['thumbnail'] . "'>";
........
이런식으로 하면 되지 않을까 싶네요.
암튼 어떻게 사용하는가는 사용자의 몫인것 같습니다.
경우에 따라 쓰기 나름이라서.........
공통적인 함수를 만들기는 애매합니다.
그냥 필요에 따라 모닝님 처럼 적당히 만들어서 사용해야 합니다.
예를 한가지 든다면.......
리스트에서 내용 사용으로 체크되어있는
리스트 스킨에서 사용한다고 가정하고
첨부 파일에 이미지가 있음 그것으로 대표 썸네일 이미지로 만들고
본문 내용중에 이미지 태그가 있으면 이미지 주소를 뽑아와서 그것으로
대표 썸네일 이미지를 만들겟다고 한다면.......
$save_w = 150;//저장될 썸네일 너비
$save_h = 0;//너비에 따라 높이 자동 조절
$options = Array();
$options['save_force'] = 1;
$options['crop_use'] = 0;
$path_save_dir = $g4['path'] . '/data/file/' . $bo_table . '/thumbnail;
if (!is_dir($path_save_dir)) {
@mkdir($path_save_dir);
@chmod($path_save_dir, 0777);
}
for ($i=0; $i<count($list); $i++) {
$list[$i]['thumbnail'] = '';
$path_save_file = $path_save_dir . '/list_' . $list[$i]['wr_id'] . '.png';
if (!is_file($path_save_file)) {
foreach($list[$i]['file'] as $k => $v) {
if (preg_match("`\.(gif|jpe?g|png)$`i", $v[source])) {
if (create_thumbnail($v['file'], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
break;
}
}
}
if (empty($list[$i]['thumbnail']) && !empty($list[$i]['wr_content']) && preg_match("`src\s*=([^>]+\.(gif|jpe?g|png))('|\"|\s|>)`iU", $list[$i]['wr_content'], $m)) {
$m[1] = preg_replace("`[\s\"']+`", '', $m[1]);
if (!empty($m[1])) {
if (create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
}
}
}
}
else {
$list[$i]['thumbnail'] = $path_save_file;
}
........
if (!empty($list[$i]['thumbnail'])) echo "<img src='" . $list[$i]['thumbnail'] . "'>";
........
이런식으로 하면 되지 않을까 싶네요.
암튼 어떻게 사용하는가는 사용자의 몫인것 같습니다.
if (empty($list[$i]['thumbnail']) && !empty($list[$i]['wr_content']) && preg_match("`src\s*=([^>]+\.(gif|jpe?g|png))('|\"|\s|>)`iU", $list[$i]['wr_content'], $m)) {
$m[1] = preg_replace("`[\s\"']+`", '', $m[1]);
if (!empty($m[1])) {
if (create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
}
}
}
---------------
이부분이 웹그림부분이지요?
아예 이것을 님의 자료 안에 집어넣을 수는 없는가요?
사용자 입장에서 이것도 신경안쓰고,
if ($m[1]) { create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options); }
만 하면 되게요...
$m[1] = preg_replace("`[\s\"']+`", '', $m[1]);
if (!empty($m[1])) {
if (create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
}
}
}
---------------
이부분이 웹그림부분이지요?
아예 이것을 님의 자료 안에 집어넣을 수는 없는가요?
사용자 입장에서 이것도 신경안쓰고,
if ($m[1]) { create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options); }
만 하면 되게요...
게시글 목록
| 번호 | 제목 |
|---|---|
| 12487 |
PHP
pc 모바일 체크
|
| 12486 |
PHP
계정 사용량(용량) 확인
|
| 380 | |
| 12484 | |
| 12483 |
MySQL
소수점 반올림 버림
|
| 376 | |
| 12482 | |
| 12481 |
PHP
에러 로그파일 생성하기
|
| 12479 | |
| 12478 | |
| 12477 |
PHP
후이즈검색 하기 입니다.
|
| 12476 |
PHP
그래프 그리기 입니다.
|
| 12475 |
JavaScript
자바스크립트로 구현한 number_format() 입니다.
|
| 12474 |
JavaScript
금액 관련 숫자를 한글로 변환하기 입니다.
|
| 12473 |
PHP
PHP 날짜 계산 관련 함수
|
| 12472 |
jQuery
jQuery 1.x와 2.x 버전 동시에 사용하기
|
| 12471 | |
| 12470 | |
| 12469 |
JavaScript
사업자 등록번호 검사하기 입니다.
|
| 371 | |
| 12468 | |
| 12467 |
JavaScript
항상 같은곳에 광고창 만들기 입니다.
|
| 12466 |
JavaScript
부메뉴 나오게 하기 입니다.
|
| 12465 |
JavaScript
특정문자 제거하기 입니다.
|
| 12464 |
JavaScript
휴대폰번호 검사 하기 입니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기