up,down $src_file_size[0]) { $dest_file_size = $src_file_size; } if ($lib == 'netpbm') return Ymake_sumnail_netpbm($src_file, $dest_file, $src_file_size, $dest_file_size, $image_quality); else return Ymake_sumnail_gd($src_file, $dest_file, $src_file_size, $dest_file_size, $image_quality); } //섬네일 생성 function Ymake_sumnail_gd($src_file, $dest_file, $src_file_size, $dest_file_size, $image_quality=90){ //생성도중 에러가 날수 있는 것들을 체크 하여 return false if (empty($src_file) || empty($dest_file) || !is_file($src_file) || !is_array($src_file_size) || !is_array($dest_file_size) || empty($src_file_size[0]) || empty($src_file_size[1]) || empty($src_file_size[2]) || empty($dest_file_size[0]) || empty($dest_file_size[0])) { return false; } //$image_quality 확인후 조건에 맞지 않으면 기본값 세팅 if(!is_numeric($image_quality) || empty($image_quality)) $image_quality = 90; //원본사이즈보다 썸네일 사이즈가 더 크면 원본사이즈와 같게 썸네일을 생성 if ($dest_file_size[0] > $src_file_size[0]) { $dest_file_size = $src_file_size; } switch($src_file_size[2]) { case 1: // GIF image $src = @ImageCreateFromGIF($src_file); break; case 2: // JPEG image $src = @ImageCreateFromJPEG($src_file); break; case 3: // PNG image $src = @ImageCreateFromPNG($src_file); break; default: // 정해진 이외의 포맷은 return false return false; } if (function_exists("imagecreatetruecolor")) { // This function requires GD 2.0.1 or later. $dst = @ImageCreateTrueColor($dest_file_size[0], $dest_file_size[1]); } else { $dst = @ImageCreate($dest_file_size[0], $dest_file_size[1]); } // 1.00.05 gd 버전에 따라 if (function_exists("imagecopyresampled")) { @imagecopyresampled($dst, $src, 0, 0, 0, 0, $dest_file_size[0], $dest_file_size[1], $src_file_size[0], $src_file_size[1]); } else { // 1.00.02 imagecopyresized -> imagecopyresampled 로 교체 @imagecopyresized($dst, $src, 0, 0, 0, 0, $dest_file_size[0], $dest_file_size[1], $src_file_size[0], $src_file_size[1]); } @ImageJPEG($dst, $dest_file, $image_quality); @ImageDestroy($src); @ImageDestroy($dst); //퍼미션 변경가능 여부를 가지고 썸네일 생성 실패 판단 return @chmod($dest_file, 0777); } // 섬네일 끝 function phpls($dir) { $handle=opendir($dir); while ($file = readdir($handle)) { $list[] = $file; } closedir($handle); sort($list,SORT_STRING); return $list; } function listdir($dir) //폴더리스트 구하는 함수 { $handle=opendir($dir); while ($file = readdir($handle)) { if (is_dir($dir."/".$file) && $file!="." && $file!=".."){ //만약 .이나 ..이면 제거. 폴더만 챙기기 $listdir[] = $file; } } closedir($handle); sort($listdir,SORT_STRING); return $listdir; } function form_option($arr,$val,$dtitle){ $ret = ""; $first = $arr[0]; if(is_array($first)){ $arr_keys = array_keys($first); $key1 = $arr_keys[0]; $key2 = $arr_keys[1]; for($i=0;$i$arr_val"; $in=$i%15; // 15개월마다 줄바꿈 if ($i != 0 && $in == 0) { $ret .= "
"; } } $ret .="| "; } $ret.="

"; return $ret; } echo "
장여희 홈페이지
| 장여은 홈페이지 | 장여원 홈페이지
"; echo "
YeoHee's birth day 2011.10.14, today is ".$result_day."th day, ".$result_month."th month, ".$result_year."th year after her birth
"; //구해진 날짜값을 출력합니다./ // 나름 콘피그 영역 $dtitle="month"; //기본 타이틀. 바꾸고 싶으면 바꾸자~ if ($tongdir == '') $picperpage=1; //기본 통디렉토리가 ''이면 1페이지에 출력할 이미지 갯수 1개 (ppp의 전신) else $picperpage=999; //1페이지에 출력할 이미지 갯수 (ppp의 전신) // $prefolder="zera"; //처음 열 폴더. $pretype="img"; //첫 방식 $tongmu="on"; //다중디렉토리를 사용할 것인지에 대한 설정 // 콘피그 영역 종료 // 현재 주소 뽑기 $urn=$_SERVER['PHP_SELF']; //파일 경로를 변수에 집어넣고 $url = dirname($urn); //경로중 폴더 경로만 남긴 후 // if ($url) {$url =$url."";} //기본경로일 경우 "/"를 더한다. $uri = "http://".$_SERVER['HTTP_HOST']; $url=$uri."".$url."/"; //서버이름과 합하면 파일이 위치한 경로가 된다. // 현재 주소 뽑기 종료 ;$cat=$_REQUEST['cat']; ;$type=$_REQUEST['type']; ;$ppp=$_REQUEST['ppp']; ;$page=$_REQUEST['page']; ;$tongdir=$_REQUEST['tongdir']; $dir=$cat; $dir2=$dir; if(!$ppp) {$ppp=$picperpage;} //ppp가 없을 경우 미리 설정해둔대로 처리 if(!$page){$page=1;} //페이지가 설정되어있지 않으면 1페이지부터 출력. if(!$dir) {$dir=$dtitle;} //dir을 미리 결정안해줬을경우 자동으로 폴더 설정~ if ($dir == 'month') $ppp=1; //기본 타이틀이 'day'이면 1페이지씩 출력 if (!$type) {$type=$pretype;} //타입이 결정되지 않았을경우 방식출력 if (!$tongdir){$tongdir="home";} $cmin=($ppp*($page-1)); $cmax=$ppp*$page; if ($tongmu=="on"){$fulldir=$tongdir."/".$dir; $dir2=$fulldir; $list_dir=listdir($tongdir); } elseif ($tongmu=="off") {$fulldir=$dir; $list_dir=listdir("."); } //만약, 통무가 켜져 있으면, 통무를 합치고, 아니면 뺀다 $dir=phpls($fulldir); $dmj_dir=$url; $dmj_dir.=$fulldir; if ($tongmu=="on"){$tong=tongmu("."); echo $tong; } $dmj_cat=form_option($list_dir,$cat,$dtitle); // 셀렉트옵션제작! echo "
"; echo "
"; echo ""; echo "  | "; echo "image | "; echo "html | "; echo "url | "; echo "slideshow
"; $cfiles=0; $i=0; if (is_file($dir2."/list.txt")){ $txtlist=file($dir2."/list.txt"); $txtlist2=explode(" ","1 2 3"); //echo $txtlist[0]; //echo count($txtlist); while ($i<=count($txtlist)) { //echo $i; if ($txtlist[$i]) { $cfiles=$cfiles+1; // 그림파일만 갯수계산 if (($cfiles>$cmin) and ($cfiles<=$cmax)){ if ($type=="html"){ //타입이 html일경우 if (eregi(".FLV",$value)) { $img .= "<embed src='".$txtlist[$i]."'><br>
"; } else { $img .= "<img src='".$txtlist[$i]."'><br>
"; } } elseif ($type=="url"){ $img .= $txtlist[$i]."
"; } elseif ($type=="img") { if (eregi(".FLV",$value)) { $img .= " down
"; //$img .= "
"; } else { $img .= "$dmj_dir/$value
"; echo "섬네일1"; } } elseif ($type=="slide") { if (eregi(".FLV",$value)) { $img .= "
"; //$img .= "
"; } else { $img .= "
"; } } } elseif ($cfiles>=$cmax){$cnext=$page+1;} elseif ($cfiles<=$cmin){$peri=$page-1;} } $i++; } } //리스트.txt파일이 있으면 출력 while (list($key,$value) = each($dir)) //include_once("print_exif.php"); { if ($value) { if (eregi(".JPG",$value) || eregi(".PNG",$value) || eregi(".GIF",$value) || eregi(".FLV",$value)) { //일단, 그림, 동영상 파일 분리 $ext = substr(strrchr($value,"."),1); //확장자앞 .을 제거하기 위하여 substr()함수를 이용 $ext = strtolower($ext); //확장자를 소문자로 변환 if ($ext !== "thum") { $cfiles=$cfiles+1; // 그림파일만 갯수계산 //섬네일2 $src_file = $fulldir."/".$value; $thum_src_file = $fulldir."/".$value.".thum"; $thum_value = $value.".thum"; //echo "dtitle=".$dtitle."
"; //echo "dir2=".$dir2."
"; //$dir2_len = strlen($dir2); //$dir3 = substr($dir2, $dir2_len-3); //if ($ext !== "flv" && $dir3 !== 'month') { if ($ext == "jpg") { if (file_exists($thum_src_file)) {} else { $src_file_size = getimagesize($src_file); $dest_file = $fulldir."/".$value.".thum"; $dest_file_size = Array(300, 200); $result = Ysumnail_rule($src_file, $dest_file, $src_file_size, $dest_file_size, 90, 'gd'); if (empty($result)) echo "
jpg 썸네일 생성에 실패하였습니다. 저장디렉토리의 퍼미션이나 원본의 이미지포맷, 또는 gd지원여부를 확인하세요."; } } //섬네일2 끝 //동영상 섬네일2 if (file_exists($thum_src_file)) {} else { if ($ext == "flv") { $full_src_file = 'D:/APM_Setup/htdocs/yeohee/'.$src_file; $full_dest_file = 'D:/APM_Setup/htdocs/yeohee/'.$dest_file; //echo "full_src_file=".$full_src_file."
"; //echo "full_dest_file=".$full_dest_file."
"; if (empty($_GET['frame'])) $frame = 1; else $frame = $_GET['frame']; $movie = new ffmpeg_movie($full_src_file, false); $width = $movie->getFrameWidth (); $height = $movie->getFrameHeight (); $frame_iamge = $movie->getFrame($frame); $frame_iamge->resize($width, $height); $image = $frame_iamge->toGDImage(); //header ("Content-Type: image/jpeg"); imagejpeg($image, $full_src_file.".thum"); //imageJPEG ($image); //imageDestroy ($image); } } //동영상 섬네일2 끝 if (($cfiles>$cmin) and ($cfiles<=$cmax)){ if ($type=="html"){ //타입이 html일경우 if (eregi(".FLV",$value)) { $img .= "<embed src='".$dmj_dir."/$value'><br>
"; } else { $img .= "<img src='".$dmj_dir."/$value'><br>
"; } } elseif ($type=="url"){ $img .= $dmj_dir."/$value
"; } elseif ($type=="img") { if (eregi(".FLV",$value)) { //$img .="
$dmj_dir/$valuedown "; //$img .="'"; $hd_src_file = $fulldir."/hd/".$value; //echo $hd_src_file.'
'; //if (file_exists($hd_src_file)) echo "ok hd"; else echo "no hd"; if (file_exists($hd_src_file)) { $img .="dn[SD,HD] "; } else { $img .="dn[SD] "; } //$img .= " down
"; //$img .= "
"; } else { // $img .= "$dmj_dir/$value
"; // $img .= "$dmj_dir/$value
"; //echo "cat=".$cat."
"; //echo "dtitle=".$dtitle."
"; //echo "dir=".$dir."
"; //echo "dir2=".$dir2."
"; //echo "dir3=".$dir3."
"; if ($cat == '' || $cat == 'month' || $dir2 == 'home/month') { $img .= "$dmj_dir/$value
"; } else { $img .= "
$dmj_dir/$value "; } }; // $file_url = $dmj_dir."/".$value; // print_exif($img); } } elseif ($type=="slide") { if (eregi(".FLV",$value)) { $img .= "
"; //$img .= "
"; } else { $img .= "
"; } } } elseif ($cfiles>=$cmax){$cnext=$page+1;} elseif ($cfiles<=$cmin){$peri=$page-1;} } } } $allp=ceil($cfiles/$ppp); //총 몇페이지인지 계산 if ($allp<$page){$peri=$allp;} if ($peri){echo "";}elseif($cnext){echo"◀";} if ($peri or $cnext){echo ""; // 파일갯수를 ppp로 나눈 몫이 페이지수 . 그만큼 리스트를 슈르륵~ 하게. for문 써서... echo "/".$allp.""; } if ($cnext){echo "";}elseif($peri){echo"▶";} echo "
"; echo "
"; //if ($cfiles){echo "
total:".$cfiles."files
";} if ($cfiles){echo "
total: ".$cfiles." files          
";} echo "
"; $cfiles=0; $img.="
"; echo $img; //echo "
"; //echo ""; //echo "image |"; //echo "html |"; //echo "url |"; //echo "slideshow
"; echo "
"; //echo ""; echo ""; echo "
Copyright 2011 장여희
"; ?>