Class
- Tip&Tech
| [ÇÔ¼ö] »çÁø Ä«¸Þ¶ó Á¤º¸ exif Ŭ·¡½º | |||||
| ±Û¾´ÀÌ | ³¯ Â¥ | 10-02-04 22:31 | Á¶ ȸ | 4717 | |
|---|---|---|---|---|---|
| °£ÆíURL |
http://www.phpschool.com/link/tipntech/71101
|
||||
| Link1 | http://apmsoftax.mireene.com/test_exif.php (466) | ||||
| Link2 | http://apmsoftax.com (361) | ||||
|
php5 Ŭ·¡½º ½Ã¸®Áî exif
»çÁø¿¡ µî·ÏµÈ Ä«¸Þ¶ó ¹× Á¤º¸ °¡Á®¿À±â read_exif_data °¡ ¾ÈµÉ ½Ã getimagesize ·Î ±âº» Á¤º¸ 맟 ÃßÃâÇϱâ <?php define('_READ_EXIF_ON_',1); # exif ÇÔ¼ö ¼³Á¤µÊ define('_READ_EXIF_OFF_',2); # exif ÇÔ¼ö Ȱ¿ë ºÒ°¡ class ImageExif { private $picture; private $exifmode = 1; public function __construct($picture){ # ·ÎÄà ÆÄÀÎÀÎÁö üũ if(!file_exists($picture)) throw new ErrorReporter('',30); # ÇÔ¼ö enable üũ if(!function_exists(read_exif_data)) $this->exifmode = 2; $this->picture = $picture; } # ÆÄÀÏ ¿ë·® üũ public function fileSize() { $result = ''; $size = filesize($this->picture); if(!empty($size)){ $result = sprintf("%0.1f KB", ($size/1024)); if($r>1024){ $result = sprintf("%0.1f MB", ($r/1024)); //¼öÁ¡ ÀÌÇϰ¡ 0.5 ´Â 1·Î ¹Ý¿Ã¸²ÇÑ´Ù. } } return $result; } # exif OFF À϶§ À̹ÌÁö ±âº» Á¤º¸¸¸ µ¹·ÁÁØ´Ù public function getImageInfo() { $args = array(); $size = @getimagesize($this->filename); # ÆÄÀÏÁ¤º¸ if($size){ $args = array( 'filesize' => self::fileSize(), // ÆÄÀÏ»çÀÌÁî #'datetime' => '', // ÃÔ¿µÀÏÀÚ 'filewh' => ($size[0]) ? $size[0].' x '.$size[1]: '', // »çÁø»çÀÌÁî #'flashonoff'=> '' ); } return $args; } # »çÁø Á¤º¸ ÃßÃâÇϱâ public function setExif() { $exif = @read_exif_data($this->picture); if($exif ===false) throw new ErrorReporter(''); # Ç÷¡½Ã »ç¿ë¿©ºÎ $flash = ''; switch($exif['FlashUsed']){ case 0 : $flash = 'OFF'; break; case 1 : $flash = 'ON'; break; } ## Ä«¸Þ¶ó ¸ðµ¨ $cameramodel = ''; if($exif['Make']) $cameramodel = str_replace('CORPORATION','',$exif['Make']).' '; // Á¦Á¶»ç if($exif['Model']) $cameramodel.= $exif['Model']; // Á¦Ç°¸í ## ÃÔ¿µ°Å¸® $focusdistance = ''; if($exif['FocusDistance']){ $tmpdistance = explode('/',$exif['FocusDistance']); $focusdistance = ($tmpdistance[0]/$tmpdistance[1]).'mm'; } ## ¼ÅÅͼӵµ $exposuretime = ''; if($exif['ExposureTime']){ $tmpexpo = explode('/',$exif['ExposureTime']); $exposuretime = ($tmpexpo[0]/$tmpexpo[0]).'/'.($tmpexpo[1]/$tmpexpo[0]).'s'; } ## ÃÊÁ¡°Å¸® $focallength = ''; if($exif['FocalLength']){ $tmpfocal = explode('/',$exif['FocalLength']); $focallength= ($tmpfocal[0]/$tmpfocal[1]).'mm'; } #print_r($exif); # ÆÄÀÏ »çÀÌÁî $psize = sprintf("%0.1f KB", ($exif['FileSize']/1024)); if($psize>1024){ $psize = sprintf("%0.1f MB", ($psize/1024)); //¼öÁ¡ ÀÌÇϰ¡ 0.5 ´Â 1·Î ¹Ý¿Ã¸²ÇÑ´Ù. } # ccdsize $ccdsize = ($exif['CCDWidth']) ? substr($exif['CCDWidth'],0,5).' mm' : ''; # »çÁø Å©±â (°¡·Îx¼¼·Î) if(!empty($exif['ExifImageWidth'])){ $filewh = $exif['ExifImageWidth'].' x '.$exif['ExifImageLength']; }else if(!empty($exif['COMPUTED']['Width'])){ $filewh = $exif['COMPUTED']['Width'].' x '.$exif['COMPUTED']['Height']; }else{ $size = self::getImageInfo(); $filewh = $size['filewh']; } # ±âŸ Á¤º¸ $args = array( 'filename' => $exif['FileName'], // ÆÄÀϸí 'filesize' => $psize, // ÆÄÀÏ»çÀÌÁî 'datetime' => $exif['DateTimeOriginal'], // ÃÔ¿µÀÏÀÚ 'filewh' => $filewh, // Çȼ¿ 'flashonoff' => $flash, // Ç÷¡½Ã »ç¿ë¿©ºÎ 'mademodel' => $cameramodel, // Á¦Ç°¸í 'focallength' => $focallength, // ÃÊÁ¡°Å¸® 'focusdistance' => $focusdistance, // ÃÔ¿µ°Å¸® 'aperture' => $exif['COMPUTED']['ApertureFNumber'],// Á¶¸®°³ 'exposuretime' => $exposuretime, // ¼ÅÅͼӵµ 'isospeed' => $exif['ISOSpeedRatings'], // ISO °¨µµ 'exifversion' => $exif['ExifVersion'], // exif ¹öÀü 'ccdsize' => $ccdsize, // CCD Å©±â 'software' => $exif['Software'], // Æß¿þ¾î ¹öÀü 'comments' => $exif['Comments'], // ¼³¸í 'whitebalance' => $exif['WhiteBalance'] // ÈÀÌÆ®¹ß¶õ½º ); return $args; } # exif Á¤º¸ ¶Ç´Â À̹ÌÁö ±âº» Á¤º¸ public function getExif(){ if($this->exifmode === _READ_EXIF_ON_){ return self::setExif(); } else if($this->exifmode === _READ_EXIF_OFF_){ return self::getImageInfo(); } } } ?> ## Å×½ºÆ®Çϱâ ÇÊ¿äÇѰŠÀÖÀ½ Ŭ·¡½º¿¡ ´õ Ãß°¡ Çϼż »ç¿ëÇÏ½É µË´Ï´Ù <?php $out->outPrintln("<img src='./testdirectory/P100119003.jpg'>"); $exif = new ImageExif($path.'/testdirectory/P100119003.jpg'); $args = $exif->getExif(); if(is_array($args)){ foreach($args as $k =>$v){ if(!empty($v)){ $out->outPrintln($k.' : '.$v); } } } $out->outPrintln("----------------------------"); $out->outPrintln("<img src='./testdirectory/DSC_0369.JPG'>"); $exif2 = new ImageExif($path.'/testdirectory/DSC_0369.JPG'); $args2 = $exif2->getExif(); if(is_array($args2)){ foreach($args2 as $k2 =>$v2){ if(!empty($v2)){ $out->outPrintln($k2.' : '.$v2); } } } ?> |
|||||
|
|||||
Àüü´ñ±Û¼ö 9
-


±×³× 10-02-05 13:00
¼Ò½ºº¸±â
-
ÅÂŬ Çϳª °ÉÀÚ¸é
php5 ¿ë class ¸¦ »ç¿ëÇϸé¼
define() À¸·Î Á¤ÀÇÇÑ Æ¯º°ÇÑ ÀÌÀ¯°¡ ÀÖÀ»±î¿ä?
¾ÆÁÖ ÈǸ¢ÇÑ const °¡ Àִµ¥...
Ưº° ÄÉÀ̽º°¡ ¾Æ´Ñ ÀÌ»ó
GLOBAL ȤÀº SuperGlobal º¯¼ö¸¦ ¸¸µå´Â°Ç º°·Î ÁÁÁö ¾Ê½À´Ï´Ù.
¾Æ´Ô 5.3 ÀÌ»óÀ̶ó¸é ¾Æ¿¹ namespace ¸¦ µÎ¸é ¸ô¶óµµ.. (±×°Íµµ º°·Î ¾È ÁÁÀ»°Å °°½À´Ï´Ù¸¸..)
¾Æ·¡ÀÇ Å¬·¡½ºµµ ¸¶Âù°¡Áö°í... -

php»ç¶ûÀÌ 10-02-05 16:34
¼Ò½ºº¸±â
-
define¸¦ »ç¿ëÇÑ´Ù°í php5¿¡ À§¹è µÇ´Â°Ç ¾Æ´Õ´Ï´Ù.
Àúµµ const ÆÄÀÏŬ·¡½º¿¡¼ »ç¿ëÇϰí Àִµ¥ Å« ÀÌÀ¯°¡ ÀÖ¾î¼
define¸¦ Ȱ¿ëÇÑ°Ç ¾Æ´Õ´Ï´Ù.
±×·±µ¥ Ŭ·¡½º¿¡ ¹«½¼ ¹®Á¦°¡ ÀÖ³ª¿ä? ^^ -


±×³× 10-02-05 19:53
¼Ò½ºº¸±â
-
¹®Á¦°¡ ÀÖ´Â°Ç ¾Æ´Õ´Ï´Ù.
±×³É ¸ð¾ç»õ°¡ Á» ±×·¸´Ù´Â °Í »Ó
º¯¼ö°¡ ¹Û¿¡¼ ±¤¿ªÀ¸·Î ´Ù´Ï°Ô µÇ¸é
ÇØ´ç º¯¼ö¿¡ ´ëÇÑ Ãâó¸¦ ã±â°¡ Á» ¾î·Á¿ï¶§°¡ ÀÖ½À´Ï´Ù.
±×·±Á¡ÀÌ º°·Î ¾È ÁÁÀº°ÅÁÒ
ƯÈ÷ global $var1, $var2;
ÀÌ·±½ÄÀ¸·Î ÇØ¼ ÀÎÀÚ·Î ³Ñ±â±âµµ ±×·¸°í ÇÏ¿© »ç¿ëÇϴ°ÍÀ» Á¾Á¾ º¸°Ô µÇ´Âµ¥
´çÃé°¡ ÀÌ º¯¼ö°¡ ¾îµð¼ ¿À´Â°ÇÁö..Çì¸Þ°Ô µÇ´õ±º¿ä
¶ÇÇÑ
Ŭ·¡½º¸¦ ´Ù¸¥°÷¿¡¼ »ç¿ëÇÒ °æ¿ì
define À¸·Î Á¤ÀǵǾî ÀÖ´Ù¶ó´Â º¸Àåµµ ¾÷À» »Ó´õ·¯
±×°É ¿Ü¿ì±âµµ ±×·¸°í
±×·ÎÀÎÇØ °æ¿ì¿¡ µû¶ó¼± ¾ê±âÄ¡ ¸øÇÑ °á°ú¸¦ º¸¿©Áֱ⵵ ÇÕ´Ï´Ù.
±×·¡¼
ÇÔ¼öµç Ŭ·¡½ºµç°£¿¡
Àü´Þ¹ÞÁö ¾ÊÀº º¯¼ö´Â ÇØ´ç ±â´É ³»¿¡ Á¸ÀçÇØ¾ß µÞÅ»ÀÌ ¾ø°Ô µË´Ï´Ù. -

php»ç¶ûÀÌ 10-02-07 17:12
¼Ò½ºº¸±â
-
±×·¸ÁÒ ¸ð¾ç»õ°¡ Á» ±×·¸ÁÒ?..
Àúµµ ±×ÄÉ »ý°¢Çϰí ÀÖ¾ú´Âµ¥
±ÍÂ÷´ÏÁòÀÌ ¹ßµ¿Çؼ.... ´Ù½Ã ¸¸µé¾î¼ ¿Ã¸±²²¿ä
°¨»çÇØ¿ä... -

php»ç¶ûÀÌ 10-02-07 21:44
¼Ò½ºº¸±â
-
´Ù½Ã ¸¸µé¾î¼ ¿Ã·È½À´Ï´Ù. ^^ ¤¾¤¾¤¾
°¨»çÇØ¿ä µýÁö ÁÁ¾Æ¿ä -

³¶¸Á¹é¼ö 10-02-06 00:22
¼Ò½ºº¸±â
- ÀÌÀ¯´Â Çϳª, Á¤¸» Àü¿ªÀ¸·Î ¾²·Á°í. ¤»¤»
-


±×³× 10-02-06 09:32
¼Ò½ºº¸±â
-
ÀÌ¿Õ ³»Ä£±è¿¡
º¯¼ö Àü´Þ¾øÀÌ ÀÚ¿øÀ» Ȱ¿ëÇÏ´Â ¹æ¹ýÀ¸·Î
°´Ã¼¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
(±âº»ÂüÁ¶ ¶ó´Â °ÍÀ» Ȱ¿ëÇÑ ÁÁÀº »ç·Ê°¡ µÇ°Ú½À´Ï´Ù., ¹°·Ð º¯¼öµéÀ» '&' ¸¦ »ç¿ëÇÏ¿© °Á¦ÂüÁ¶¸¦ ÇÏ´Â ¹æ¹ýµµ ÀÖ¾¹´Ï´Ù¸¸ ±×°Í º¸´Ù´Â °´Ã¼¸¦ Ȱ¿ëÇÏ´Â °ÍÀÌ ¿ÀÈ÷·Á ´õ ±ò²ûÇϰí ÁÁÀ»¼öµµ ÀÖ½À´Ï´Ù.)
Á¦°¡ ¾óÇÍ Åå¹Ú¿¡ ÀÌ·±°ÍÀ» ¿Ã¸°ÀûÀÌ Àִµ¥ ´Ù½Ã Çѹø ´õ º¸µµ·Ï ÇÏÁÒ
$outStream = new Stream();
$out = new BerOutputStream($outStream);
$sess = new Session();
$data = new Data('id');
$data->type->setValue('string');
-------------------
$sess->encode($out);
$this->printData((string)$outStream);
¿©±â¼ À¯³äÈ÷ º¸¼Å¾ß ÇÒ °ÍÀÌ
$outStream, $out ÀÔ´Ï´Ù.
$sess->encode($out) ¶ó°í¸¸ ÇØ ³õ°í¼±
$this->printData($outStream) À̶ó°í ¸»Çϰí ÀÖ½À´Ï´Ù.
$outStream Àº $out ¿¡ °´Ã¼¸¸ »ý¼ºÇÏ¿© ³Ñ°ÜÁֱ⸸ Çߴµ¥µµ ´Ù¸¥ return ($outStream = $sess->encode($out)) µµ ¾øÀÌ ¹Ù·Î $outStream À» ÂüÁ¶ÇÏ¿© Ãâ·ÂÀ» Çϰí ÀÖ½À´Ï´Ù.
ÀÌ¿Í °°ÀÌ °´Ã¼¸¦ Ȱ¿ëÇϸé Á» ´õ È¿À²ÀûÀ¸·Î ÀÚ¿øÀ» Ȱ¿ëÇÏ°í °ü¸®ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
±»ÀÌ global °°Àº°Å ¾²Áö ¾Ê¾Æµµ ¸»ÀÌÁÒ -

php»ç¶ûÀÌ 10-02-07 17:11
¼Ò½ºº¸±â
- ÀÌ·±°Ç ¾ÈÇϼŵµ ´Ù ¾Æ´Â°Íµé ÀÏÅÙµ¥ ^^
-

ÇÏ·çÀÏ»ý 10-02-25 07:12
¼Ò½ºº¸±â
-
php»ç¶ûÀÌ´Ô Àú°°ÀÌ ¸ð¸£´Â »ç¶÷µµ ÀÖ½À´Ï´Ù ¤Ì¤Ì
°´Ã¼´Â ¹«Á¶°Ç ÂüÁ¶¿¡ ÀÇÇÑ Àü´ÞÀ̱º¿ä. Ȥ½Ã JAVA¿¡¼µµ ÂüÁ¶¿¡ ÀÇÇÑ Àü´ÞÀ̾ú´ø°¡¿ä?
ÀÚ²Ù Çì±ò¸®³×...
¾Ïư ÁÁÀº¿¹Á¦ ´öºÐ¿¡ Çì±ò·È´ø °³³äÀÌ ¹Ù·Î ÀâÇû½À´Ï´Ù.
»ç¶û´Ô´ÔÇÏ°í ±×³×´Ô Åä·Ð´ö¿¡ ¿äÁò ¸¹ÀÌ ¹è¿ì°í ÀÖ½À´Ï´Ù. µÎ ºÐ´Ù Á¤¸» °¨»ç~
12345678910


