/home/mjc1/public_html/manage/alditor/alditor_upload.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?
$fileName 
$_REQUEST['fileName'];
$dirName $_REQUEST['dirName'];
$allowedExt explode(',',$_REQUEST['allowedExt']);
$size count($_FILES['file_option_value']['name']) + count($_REQUEST['user_option_value']);

if(
$fileName == 'file_option_value') {
    for(
$i=0$i<$size$i++) {
        if(
$_FILES[$fileName]['name'][$i]) {
            
$ret multiupload($i$_FILES[$fileName], $dirName8$allowedExtrand(1,100));
        }
    }
} else {
    if(
$_FILES[$fileName]['name']) {
        
$ret upload($_FILES[$fileName], $dirName8$allowedExtrand(1,100));
    }
}

function 
multiupload($index$filearray$targetdir$max_size /* MByte */$allowext = array('gif''jpeg''png''jpg''txt''zip''mp3'), $id) {
        global 
$errmsg;
    
$max_size $max_size 1024 1024;    // ¹ÙÀÌÆ®·Î °è»êÇÑ´Ù. 1MB = 1024KB = 1048576Byte
    
if($filearray['size'][$index] > $max_size) { $errmsg "¿ë·® Ãʰú!"; return false; }
    else {
            
$file_ext end(explode('.'$filearray['name'][$index]));
//            if(file_exists($_SERVER[DOCUMENT_ROOT]."/data/temp/".$filearray['name'])) {
//                $errmsg = "Áߺ¹ÆÄÀÏ ¾÷·Îµå ½ÇÆÐ! ÆÄÀϸíÀ» º¯°æÈÄ ¾÷·ÎµåÇØÁÖ¼¼¿ä."; return false;
//            }
            
$file_ext strtolower($file_ext);
            if(
in_array($file_ext$allowext)) {   // È®ÀåÀÚ¸¦ °Ë»çÇÑ´Ù.
                //$file_name = date('Ymd') . '_' . $id . '.' . $file_ext;   // Áߺ¹µÈ ÆÄÀÏÀÌ ¾÷·Îµå µÉ¼ö ÀÖÀ¸¹Ç·Î ½Äº°ÀÚ¿Í ³¯Â¥¸¦ ÀÌ¿ëÇØ ÆÄÀÏÀ̸§À» ¸¸µé¾îÁÖ°í ±× ÈÄ ÆÄÀÏ È®ÀåÀÚ¸¦ ºÙ¿©ÁÝ´Ï´Ù.
                //$file_name = trim($filearray['name']);                        //¿©±â¼­´Â ÆÄÀϳ×ÀÓ À¯Áö
                
$file_name str_replace(" """, (substr(microtime(), 26))).'.'.$file_ext;
                
$file_name str_replace("\'"""$file_name);     // ' " Á¦°Å
                
$file_name str_replace("\""""$file_name);     // ' " Á¦°Å
                
$path $targetdir '/' $file_name;
                
// ÆÄÀÏ ÀúÀå °æ·Î¸¦ ¸¸µé¾î ÁÝ´Ï´Ù. ÇÔ¼ö ½ÇÇà½Ã¿¡ ÀԷ¹ÞÀº °æ·Î¸¦ ÀÌ¿ëÇØ¼­ ¸¸µé¾î ÁÝ´Ï´Ù.
                
if(move_uploaded_file($filearray['tmp_name'][$index], $path))  {
                    
// Á¤»óÀûÀ¸·Î ¾÷·Îµå Çߴٸ頾÷·ÎµåµÈ ÆÄÀϸíÀ» ³»º¸³À´Ï´Ù
                    // À̺κп¡ DB¿¡ ÀúÀå ±¸¹®À» ³Ö¾îÁֽðųª ÆÄÀϸíÀ» ÀúÀåÇϴ ºÎºÐÀ» ³Ö¾îÁֽø頵˴ϴÙ.
                    // ¶Ç´Â ¸®ÅϵȠÆÄÀϸíÀ¸·Î Ã³¸® ÇϽø頵˴ϴÙ.
                    
return $file_name;
                } else { 
$errmsg $path."ÆÄÀÏ ¾÷·Îµå ½ÇÆÐ!"; return false; }
            }  else { 
$errmsg "Çã¿ëµÇ´Â ÆÄÀÏÇü½ÄÀÌ ¾Æ´Õ´Ï´Ù."; return false; }
    }
}

/**  ÆÄÀÏ ¾÷·Îµå ÇÔ¼ö
 *      upload('ÆÄÀϹ迭', '¾÷·Îµå µð·ºÅ丮', '¿ë·®MB´ÜÀ§', 'Çã¿ëÈ®ÀåÀÚ','½Äº°ÀÚ');
 *   upload($_FILE['filename'], '/home/userdir/public_html/data/', 1, array('gif', 'png', 'jpeg', 'jpg'),$id);
**/
function upload($filearray$targetdir$max_size /* MByte */$allowext = array('gif''jpeg''png''jpg''txt''zip''mp3'), $id) {
        global 
$errmsg;
    
$max_size $max_size 1024 1024;    // ¹ÙÀÌÆ®·Î °è»êÇÑ´Ù. 1MB = 1024KB = 1048576Byte
    
if($filearray['size'] > $max_size) { $errmsg "¿ë·® Ãʰú!"; return false; }
    else {
            
$file_ext end(explode('.'$filearray['name']));
//            if(file_exists($_SERVER[DOCUMENT_ROOT]."/data/temp/".$filearray['name'])) {
//                $errmsg = "Áߺ¹ÆÄÀÏ ¾÷·Îµå ½ÇÆÐ! ÆÄÀϸíÀ» º¯°æÈÄ ¾÷·ÎµåÇØÁÖ¼¼¿ä."; return false;
//            }
            
$file_ext strtolower($file_ext);
            if(
in_array($file_ext$allowext)) {   // È®ÀåÀÚ¸¦ °Ë»çÇÑ´Ù.
                //$file_name = date('Ymd') . '_' . $id . '.' . $file_ext;   // Áߺ¹µÈ ÆÄÀÏÀÌ ¾÷·Îµå µÉ¼ö ÀÖÀ¸¹Ç·Î ½Äº°ÀÚ¿Í ³¯Â¥¸¦ ÀÌ¿ëÇØ ÆÄÀÏÀ̸§À» ¸¸µé¾îÁÖ°í ±× ÈÄ ÆÄÀÏ È®ÀåÀÚ¸¦ ºÙ¿©ÁÝ´Ï´Ù.
                //$file_name = trim($filearray['name']);                        //¿©±â¼­´Â ÆÄÀϳ×ÀÓ À¯Áö
                
$file_name str_replace(" """, (substr(microtime(), 26))).'.'.$file_ext;
                
$file_name str_replace("\'"""$file_name);     // ' " Á¦°Å
                
$file_name str_replace("\""""$file_name);     // ' " Á¦°Å
                
$path $targetdir '/' $file_name;
                
// ÆÄÀÏ ÀúÀå °æ·Î¸¦ ¸¸µé¾î ÁÝ´Ï´Ù. ÇÔ¼ö ½ÇÇà½Ã¿¡ ÀԷ¹ÞÀº °æ·Î¸¦ ÀÌ¿ëÇØ¼­ ¸¸µé¾î ÁÝ´Ï´Ù.
                
if(move_uploaded_file($filearray['tmp_name'], $path))  {
                    
// Á¤»óÀûÀ¸·Î ¾÷·Îµå Çߴٸ頾÷·ÎµåµÈ ÆÄÀϸíÀ» ³»º¸³À´Ï´Ù
                    // À̺κп¡ DB¿¡ ÀúÀå ±¸¹®À» ³Ö¾îÁֽðųª ÆÄÀϸíÀ» ÀúÀåÇϴ ºÎºÐÀ» ³Ö¾îÁֽø頵˴ϴÙ.
                    // ¶Ç´Â ¸®ÅϵȠÆÄÀϸíÀ¸·Î Ã³¸® ÇϽø頵˴ϴÙ.
                    
return $file_name;
                } else { 
$errmsg $path."ÆÄÀÏ ¾÷·Îµå ½ÇÆÐ!"; return false; }
            }  else { 
$errmsg "Çã¿ëµÇ´Â ÆÄÀÏÇü½ÄÀÌ ¾Æ´Õ´Ï´Ù."; return false; }
    }
}
if(
$ret and $errmsg=="") {
    
$fileSize $_FILES[$fileName]['size'];
    if(
strpos($_FILES[$fileName]['type'],'image') !== false) {
        
$imageSize getimagesize($dirName."/".$ret);
    }    else 
$imageSize = array('','');
?>

<script>
    parent.uploadComplete('<?=$ret?>','<?=$_REQUEST['fname']?>','<?=$fileSize?>','<?=$imageSize[0]?>','<?=$imageSize[1]?>');
    alert('<?=$ret?> ¾÷·Îµå ¿Ï·á');
</script>

<? } else { ?>

<script>alert('<?=$errmsg?>');</script>
<? if($fileName == 'file_option_value') {
    echo 
"<script>parent.uploadReset();</script>";
}
?>
<? 
?>