Ignore:
Timestamp:
2007/06/14 22:01:13 (19 years ago)
Author:
adati
Message:

1.4.0a-betaのマージ

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/beta/data/class/SC_UploadFile.php

    r293 r14676  
    77 
    88$SC_UPLOADFILE_DIR = realpath(dirname( __FILE__)); 
    9 require_once($SC_UPLOADFILE_DIR . "/../lib/gdthumb.php");    
     9require_once($SC_UPLOADFILE_DIR . "/../lib/gdthumb.php"); 
     10require_once($SC_UPLOADFILE_DIR . "/../include/ftp.php"); 
    1011 
    1112/* ¥¢¥Ã¥×¥í¡¼¥É¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹ */ 
    1213class SC_UploadFile { 
    13     var $temp_dir; 
    14     var $save_dir; 
    15     var $keyname;   // ¥Õ¥¡¥¤¥ëinput¥¿¥°¤Îname 
    16     var $width;     // ²£¥µ¥¤¥º 
    17     var $height;    // ½Ä¥µ¥¤¥º 
    18     var $arrExt;    // »ØÄꤹ¤ë³ÈÄ¥»Ò 
    19     var $temp_file; // Êݸ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾ 
    20     var $save_file; // DB¤«¤éÆÉ¤ß½Ð¤·¤¿¥Õ¥¡¥¤¥ë̾ 
    21     var $disp_name; // ¹àÌÜ̾ 
    22     var $size;      // À©¸Â¥µ¥¤¥º 
    23     var $necessary; // ɬ¿Ü¤Î¾ì¹ç:true 
    24     var $image;     // ²èÁü¤Î¾ì¹ç:true 
    25      
    26     // ¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹ 
    27     function SC_UploadFile($temp_dir, $save_dir) { 
    28         $this->temp_dir = $temp_dir; 
    29         $this->save_dir = $save_dir; 
    30         $this->file_max = 0; 
    31     } 
    32  
    33     // ¥Õ¥¡¥¤¥ë¾ðÊóÄɲà
    34     function addFile($disp_name, $keyname, $arrExt, $size, $necessary=false, $width=0, $height=0, $image=true) { 
    35         $this->disp_name[] = $disp_name; 
    36         $this->keyname[] = $keyname; 
    37         $this->width[] = $width; 
    38         $this->height[] = $height; 
    39         $this->arrExt[] = $arrExt; 
    40         $this->size[] = $size; 
    41         $this->necessary[] = $necessary; 
    42         $this->image[] = $image; 
    43     } 
    44     // ¥µ¥à¥Í¥¤¥ë²èÁü¤ÎºîÀ® 
    45     function makeThumb($src_file, $width, $height) { 
    46         // °ì°Õ¤ÊID¤ò¼èÆÀ¤¹¤ë¡£ 
    47         $uniqname = date("mdHi") . "_" . uniqid(""); 
    48          
    49         $dst_file = $this->temp_dir . $uniqname; 
    50          
    51         $objThumb = new gdthumb(); 
    52         $ret = $objThumb->Main($src_file, $width, $height, $dst_file); 
    53          
    54         if($ret[0] != 1) { 
    55             // ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨ 
    56             print($ret[1]); 
    57             exit; 
    58         } 
    59          
    60         return basename($ret[1]); 
    61     } 
    62          
    63     // ¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¡£ 
    64     function makeTempFile($keyname, $rename = true) { 
    65         $objErr = new SC_CheckError(); 
    66         $cnt = 0; 
    67         $arrKeyname = array_flip($this->keyname); 
    68          
    69         if(!($_FILES[$keyname]['size'] > 0)) { 
    70             $objErr->arrErr[$keyname] = "¢¨ " . $this->disp_name[$arrKeyname[$keyname]] . "¤¬¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />"; 
    71         } else { 
    72             foreach($this->keyname as $val) { 
    73                 // °ìÃפ·¤¿¥­¡¼¤Î¥Õ¥¡¥¤¥ë¤Ë¾ðÊó¤òÊݸ¤¹¤ë¡£ 
    74                 if ($val == $keyname) { 
    75                     // ³ÈÄ¥»Ò¥Á¥§¥Ã¥¯ 
    76                     $objErr->doFunc(array($this->disp_name[$cnt], $keyname, $this->arrExt[$cnt]), array("FILE_EXT_CHECK")); 
    77                     // ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¥Á¥§¥Ã¥¯ 
    78                     $objErr->doFunc(array($this->disp_name[$cnt], $keyname, $this->size[$cnt]), array("FILE_SIZE_CHECK")); 
    79                     // ¥¨¥é¡¼¤¬¤Ê¤¤¾ì¹ç 
    80                     if(!isset($objErr->arrErr[$keyname])) { 
    81                         // ²èÁü¥Õ¥¡¥¤¥ë¤Î¾ì¹ç 
    82                         if($this->image[$cnt]) { 
    83                             $this->temp_file[$cnt] = $this->makeThumb($_FILES[$keyname]['tmp_name'], $this->width[$cnt], $this->height[$cnt]); 
    84                         // ²èÁü¥Õ¥¡¥¤¥ë°Ê³°¤Î¾ì¹ç 
    85                         } else { 
    86                             // °ì°Õ¤Ê¥Õ¥¡¥¤¥ë̾¤òºîÀ®¤¹¤ë¡£ 
    87                             if($rename) { 
    88                                 $uniqname = date("mdHi") . "_" . uniqid("")."."; 
    89                                 $this->temp_file[$cnt] = ereg_replace("^.*\.",$uniqname, $_FILES[$keyname]['name']); 
    90                             } else { 
    91                                 $this->temp_file[$cnt] = $_FILES[$keyname]['name'];  
    92                             } 
    93                             $result  = copy($_FILES[$keyname]['tmp_name'], $this->temp_dir. "/". $this->temp_file[$cnt]); 
    94                             gfPrintLog($_FILES[$keyname]['name']." -> ".$this->temp_dir. "/". $this->temp_file[$cnt]); 
    95                         } 
    96                     } 
    97                 } 
    98                 $cnt++; 
    99             } 
    100         } 
    101         return $objErr->arrErr[$keyname]; 
    102     } 
    103  
    104     // ²èÁü¤òºï½ü¤¹¤ë¡£ 
    105     function deleteFile($keyname) { 
    106         $objImage = new SC_Image($this->temp_dir); 
    107         $cnt = 0; 
    108         foreach($this->keyname as $val) { 
    109             if ($val == $keyname) { 
    110                 // °ì»þ¥Õ¥¡¥¤¥ë¤Î¾ì¹çºï½ü¤¹¤ë¡£ 
    111                 if($this->temp_file[$cnt] != "") { 
    112                     $objImage->deleteImage($this->temp_file[$cnt], $this->save_dir); 
    113                 } 
    114                 $this->temp_file[$cnt] = ""; 
    115                 $this->save_file[$cnt] = ""; 
    116             } 
    117             $cnt++; 
    118         } 
    119     } 
    120      
    121     // °ì»þ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤ò¼èÆÀ¤¹¤ë¡£ 
    122     function getTempFilePath($keyname) { 
    123         $cnt = 0; 
    124         $filepath = ""; 
    125         foreach($this->keyname as $val) { 
    126             if ($val == $keyname) { 
    127                 if($this->temp_file[$cnt] != "") { 
    128                     $filepath = $this->temp_dir . "/" . $this->temp_file[$cnt]; 
    129                 } 
    130             } 
    131             $cnt++; 
    132         } 
    133         return $filepath; 
    134     } 
    135      
    136     // °ì»þ¥Õ¥¡¥¤¥ë¤òÊݸ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤¹ 
    137     function moveTempFile() { 
    138         $cnt = 0; 
    139         $objImage = new SC_Image($this->temp_dir); 
    140          
    141         foreach($this->keyname as $val) { 
    142             if($this->temp_file[$cnt] != "") { 
    143                                                      
    144                 $objImage->moveTempImage($this->temp_file[$cnt], $this->save_dir); 
    145                 // ¤¹¤Ç¤ËÊݸ¥Õ¥¡¥¤¥ë¤¬¤¢¤Ã¤¿¾ì¹ç¤Ïºï½ü¤¹¤ë¡£ 
    146                 if($this->save_file[$cnt] != "" && !ereg("^sub/", $this->save_file[$cnt])) { 
    147                     $objImage->deleteImage($this->save_file[$cnt], $this->save_dir); 
    148                 } 
    149             } 
    150             $cnt++; 
    151         } 
    152     } 
    153      
    154     // HIDDENÍѤΥե¡¥¤¥ë̾ÇÛÎó¤òÊÖ¤¹ 
    155     function getHiddenFileList() { 
    156         $cnt = 0; 
    157         foreach($this->keyname as $val) { 
    158             if($this->temp_file[$cnt] != "") { 
    159                 $arrRet["temp_" . $val] = $this->temp_file[$cnt]; 
    160             } 
    161             if($this->save_file[$cnt] != "") { 
    162                 $arrRet["save_" . $val] = $this->save_file[$cnt]; 
    163             } 
    164             $cnt++;  
    165         } 
    166         return $arrRet; 
    167     } 
    168      
    169     // HIDDEN¤ÇÁ÷¤é¤ì¤Æ¤­¤¿¥Õ¥¡¥¤¥ë̾¤ò¼èÆÀ¤¹¤ë 
    170     function setHiddenFileList($arrPOST) { 
    171         $cnt = 0; 
    172         foreach($this->keyname as $val) { 
    173             $key = "temp_" . $val; 
    174             if($arrPOST[$key] != "") { 
    175                 $this->temp_file[$cnt] = $arrPOST[$key]; 
    176             } 
    177             $key = "save_" . $val; 
    178             if($arrPOST[$key] != "") { 
    179                 $this->save_file[$cnt] = $arrPOST[$key]; 
    180             } 
    181             $cnt++; 
    182         } 
    183     } 
    184      
    185     // ¥Õ¥©¡¼¥à¤ËÅϤ¹ÍѤΥե¡¥¤¥ë¾ðÊóÇÛÎó¤òÊÖ¤¹ 
    186     function getFormFileList($temp_url, $save_url, $real_size = false) { 
    187  
    188         $cnt = 0; 
    189         foreach($this->keyname as $val) { 
    190             if($this->temp_file[$cnt] != "") { 
    191                 // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¥Á¥§¥Ã¥¯(¥Ñ¥¹¤Î¥¹¥é¥Ã¥·¥å/¤¬Ï¢Â³¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£) 
    192                 if(ereg("/$", $temp_url)) { 
    193                     $arrRet[$val]['filepath'] = $temp_url . $this->temp_file[$cnt]; 
    194                 } else { 
    195                     $arrRet[$val]['filepath'] = $temp_url . "/" . $this->temp_file[$cnt]; 
    196                 } 
    197                 $arrRet[$val]['real_filepath'] = $this->temp_dir . $this->temp_file[$cnt]; 
    198             } elseif ($this->save_file[$cnt] != "") { 
    199                 // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¥Á¥§¥Ã¥¯(¥Ñ¥¹¤Î¥¹¥é¥Ã¥·¥å/¤¬Ï¢Â³¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£) 
    200                 if(ereg("/$", $save_url)) { 
    201                     $arrRet[$val]['filepath'] = $save_url . $this->save_file[$cnt]; 
    202                 } else { 
    203                     $arrRet[$val]['filepath'] = $save_url . "/" . $this->save_file[$cnt]; 
    204                 } 
    205                 $arrRet[$val]['real_filepath'] = $this->save_dir . $this->save_file[$cnt]; 
    206             } 
    207             if($arrRet[$val]['filepath'] != "") { 
    208                 if($real_size){ 
    209                     if(is_file($arrRet[$val]['real_filepath'])) { 
    210                         list($width, $height) = getimagesize($arrRet[$val]['real_filepath']); 
    211                     } 
    212                     // ¥Õ¥¡¥¤¥ë²£Éý 
    213                     $arrRet[$val]['width'] = $width; 
    214                     // ¥Õ¥¡¥¤¥ë½ÄÉý 
    215                     $arrRet[$val]['height'] = $height; 
    216                 }else{ 
    217                     // ¥Õ¥¡¥¤¥ë²£Éý 
    218                     $arrRet[$val]['width'] = $this->width[$cnt]; 
    219                     // ¥Õ¥¡¥¤¥ë½ÄÉý 
    220                     $arrRet[$val]['height'] = $this->height[$cnt]; 
    221                 } 
    222                 // ɽ¼¨Ì¾ 
    223                 $arrRet[$val]['disp_name'] = $this->disp_name[$cnt]; 
    224             } 
    225             $cnt++; 
    226         } 
    227         return $arrRet; 
    228     } 
    229      
    230     // DBÊݸÍѤΥե¡¥¤¥ë̾ÇÛÎó¤òÊÖ¤¹ 
    231     function getDBFileList() { 
    232         $cnt = 0; 
    233         foreach($this->keyname as $val) { 
    234             if($this->temp_file[$cnt] != "") { 
    235                 $arrRet[$val] = $this->temp_file[$cnt]; 
    236             } else  { 
    237                 $arrRet[$val] = $this->save_file[$cnt]; 
    238             } 
    239             $cnt++; 
    240         } 
    241         return $arrRet; 
    242     } 
    243      
    244     // DB¤ÇÊݸ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾ÇÛÎó¤ò¥»¥Ã¥È¤¹¤ë 
    245     function setDBFileList($arrVal) { 
    246         $cnt = 0; 
    247         foreach($this->keyname as $val) { 
    248             if($arrVal[$val] != "") { 
    249                 $this->save_file[$cnt] = $arrVal[$val]; 
    250             } 
    251             $cnt++;  
    252         } 
    253     } 
    254      
    255     // ²èÁü¤ò¥»¥Ã¥È¤¹¤ë 
    256     function setDBImageList($arrVal) { 
    257         $cnt = 0; 
    258         foreach($this->keyname as $val) { 
    259             if($arrVal[$val] != "" && $val == 'tv_products_image') { 
    260                 $this->save_file[$cnt] = $arrVal[$val]; 
    261             } 
    262             $cnt++;  
    263         } 
    264     } 
    265      
    266     // DB¾å¤Î¥Õ¥¡¥¤¥ë¤ÎÆâºï½üÍ׵᤬¤¢¤Ã¤¿¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¡£  
    267     function deleteDBFile($arrVal) { 
    268         $objImage = new SC_Image($this->temp_dir); 
    269         $cnt = 0; 
    270         foreach($this->keyname as $val) { 
    271             if($arrVal[$val] != "") { 
    272                 if($this->save_file[$cnt] == "" && !ereg("^sub/", $arrVal[$val])) { 
    273                     $objImage->deleteImage($arrVal[$val], $this->save_dir); 
    274                 } 
    275             } 
    276             $cnt++;  
    277         } 
    278     } 
    279      
    280     // ɬ¿ÜȽÄê 
    281     function checkEXISTS($keyname = "") { 
    282         $cnt = 0; 
    283         $arrRet = array(); 
    284         foreach($this->keyname as $val) { 
    285             if($val == $keyname || $keyname == "") { 
    286                 // ɬ¿Ü¤Ç¤¢¤ì¤Ð¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
    287                 if ($this->necessary[$cnt] == true) { 
    288                     if($this->save_file[$cnt] == "" && $this->temp_file[$cnt] == "") { 
    289                         $arrRet[$val] = "¢¨ " . $this->disp_name[$cnt] . "¤¬¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br>"; 
    290                     } 
    291                 } 
    292             } 
    293             $cnt++; 
    294         } 
    295         return $arrRet; 
    296     } 
    297          
    298     // ³ÈÂçΨ¤ò»ØÄꤷ¤Æ²èÁüÊݸ 
    299     function saveResizeImage($keyname, $to_w, $to_h) { 
    300         $path = ""; 
    301          
    302         // keyname¤ÎźÉÕ¥Õ¥¡¥¤¥ë¤ò¼èÆÀ 
    303         $arrImageKey = array_flip($this->keyname); 
    304         $file = $this->temp_file[$arrImageKey[$keyname]]; 
    305         $filepath = $this->temp_dir . $file; 
    306          
    307         $path = $this->makeThumb($filepath, $to_w, $to_h); 
    308          
    309         // ¥Õ¥¡¥¤¥ë̾¤À¤±ÊÖ¤¹ 
    310         return basename($path); 
    311     } 
     14    var $temp_dir;                  // °ì»þ¥Õ¥¡¥¤¥ëÊݸ¥Ç¥£¥ì¥¯¥È¥ê 
     15    var $save_dir;                  // ¥Õ¥¡¥¤¥ëÊݸ¥Ç¥£¥ì¥¯¥È 
     16    var $ftp_temp_dir;              // FTPÀè°ì»þ¥Ç¥£¥ì¥¯¥È¥ê(Éé²Ùʬ»¶»þ»ÈÍÑ) 
     17    var $ftp_save_dir;              // FTPÀè¥Õ¥¡¥¤¥ëÊݸ¥Ç¥£¥ì¥¯¥È¥ê(Éé²Ùʬ»¶»þ»ÈÍÑ) 
     18    var $multi_web_server_mode;     // Éé²Ùʬ»¶¥Õ¥é¥°(Éé²Ùʬ»¶»þ»ÈÍÑ) 
     19    var $keyname;                   // ¥Õ¥¡¥¤¥ëinput¥¿¥°¤Îname 
     20    var $width;                     // ²£¥µ¥¤¥º 
     21    var $height;                    // ½Ä¥µ¥¤¥º 
     22    var $arrExt;                    // »ØÄꤹ¤ë³ÈÄ¥»Ò 
     23    var $temp_file;                 // Êݸ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾ 
     24    var $save_file;                 // DB¤«¤éÆÉ¤ß½Ð¤·¤¿¥Õ¥¡¥¤¥ë̾ 
     25    var $disp_name;                 // ¹àÌÜ̾ 
     26    var $size;                      // À©¸Â¥µ¥¤¥º 
     27    var $necessary;                 // ɬ¿Ü¤Î¾ì¹ç:true 
     28    var $image;                     // ²èÁü¤Î¾ì¹ç:true 
     29 
     30    // ¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹ 
     31    function SC_UploadFile($temp_dir, $save_dir, $ftp_temp_dir = "", $ftp_save_dir = "", $multi_web_server_mode = false) { 
     32        $this->temp_dir = $temp_dir; 
     33        $this->save_dir = $save_dir; 
     34        $this->ftp_temp_dir = $ftp_temp_dir; 
     35        $this->ftp_save_dir = $ftp_save_dir; 
     36        $this->multi_web_server_mode = $multi_web_server_mode; 
     37        $this->file_max = 0; 
     38    } 
     39 
     40    // ¥Õ¥¡¥¤¥ë¾ðÊóÄɲà
     41    function addFile($disp_name, $keyname, $arrExt, $size, $necessary=false, $width=0, $height=0, $image=true) { 
     42        $this->disp_name[] = $disp_name; 
     43        $this->keyname[] = $keyname; 
     44        $this->width[] = $width; 
     45        $this->height[] = $height; 
     46        $this->arrExt[] = $arrExt; 
     47        $this->size[] = $size; 
     48        $this->necessary[] = $necessary; 
     49        $this->image[] = $image; 
     50    } 
     51    // ¥µ¥à¥Í¥¤¥ë²èÁü¤ÎºîÀ® 
     52    function makeThumb($src_file, $width, $height) { 
     53        // °ì°Õ¤ÊID¤ò¼èÆÀ¤¹¤ë¡£ 
     54        $uniqname = date("mdHi") . "_" . uniqid(""); 
     55         
     56        $objThumb = new gdthumb(); 
     57         
     58        // WEB¥µ¡¼¥ÐÉé²Ùʬ»¶´Ä¶­¤Î¾ì¹ç 
     59        if($this->multi_web_server_mode === true) { 
     60             
     61            // FTPÍÑ¥Õ¥¡¥¤¥ë°ì»þ³ÊǼÍѥǥ£¥ì¥¯¥È¥êºîÀ® 
     62            $ftp_temp_dir = $this->makeFtpTempDir($this->temp_dir); 
     63            $dst_file = $ftp_temp_dir . $uniqname; 
     64            $ret = $objThumb->Main($src_file, $width, $height, $dst_file); 
     65            $this->ftpMoveFile($this->ftp_temp_dir . basename($ret[1]), $ret[1], true); 
     66        } else { 
     67            $dst_file = $this->temp_dir . $uniqname; 
     68            $ret = $objThumb->Main($src_file, $width, $height, $dst_file);           
     69        } 
     70         
     71        if($ret[0] != 1) { 
     72            // ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨ 
     73            print($ret[1]); 
     74            exit; 
     75        } 
     76         
     77        return basename($ret[1]); 
     78    } 
     79         
     80    // ¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¡£ 
     81    function makeTempFile($keyname, $rename = true) { 
     82        $objErr = new SC_CheckError(); 
     83        $cnt = 0; 
     84        $arrKeyname = array_flip($this->keyname); 
     85         
     86        if(!($_FILES[$keyname]['size'] > 0)) { 
     87            $objErr->arrErr[$keyname] = "¢¨ " . $this->disp_name[$arrKeyname[$keyname]] . "¤¬¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br />"; 
     88        } else { 
     89            foreach($this->keyname as $val) { 
     90                // °ìÃפ·¤¿¥­¡¼¤Î¥Õ¥¡¥¤¥ë¤Ë¾ðÊó¤òÊݸ¤¹¤ë¡£ 
     91                if ($val == $keyname) { 
     92                    // ³ÈÄ¥»Ò¥Á¥§¥Ã¥¯ 
     93                    $objErr->doFunc(array($this->disp_name[$cnt], $keyname, $this->arrExt[$cnt]), array("FILE_EXT_CHECK")); 
     94                    // ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¥Á¥§¥Ã¥¯ 
     95                    $objErr->doFunc(array($this->disp_name[$cnt], $keyname, $this->size[$cnt]), array("FILE_SIZE_CHECK")); 
     96                    // ¥¨¥é¡¼¤¬¤Ê¤¤¾ì¹ç 
     97                    if(!isset($objErr->arrErr[$keyname])) { 
     98                        // ²èÁü¥Õ¥¡¥¤¥ë¤Î¾ì¹ç 
     99                        if($this->image[$cnt]) { 
     100                            $this->temp_file[$cnt] = $this->makeThumb($_FILES[$keyname]['tmp_name'], $this->width[$cnt], $this->height[$cnt]); 
     101                        // ²èÁü¥Õ¥¡¥¤¥ë°Ê³°¤Î¾ì¹ç 
     102                        } else { 
     103                            // °ì°Õ¤Ê¥Õ¥¡¥¤¥ë̾¤òºîÀ®¤¹¤ë¡£ 
     104                            if($rename) { 
     105                                $uniqname = date("mdHi") . "_" . uniqid("")."."; 
     106                                $this->temp_file[$cnt] = ereg_replace("^.*\.",$uniqname, $_FILES[$keyname]['name']); 
     107                            } else { 
     108                                $this->temp_file[$cnt] = $_FILES[$keyname]['name'];     
     109                            } 
     110                            $result  = copy($_FILES[$keyname]['tmp_name'], $this->temp_dir. "/". $this->temp_file[$cnt]); 
     111                            gfPrintLog($_FILES[$keyname]['name']." -> ".$this->temp_dir. "/". $this->temp_file[$cnt]); 
     112                        } 
     113                    } 
     114                } 
     115                $cnt++; 
     116            } 
     117        } 
     118        return $objErr->arrErr[$keyname]; 
     119    } 
     120 
     121    // ²èÁü¤òºï½ü¤¹¤ë¡£ 
     122    function deleteFile($keyname) { 
     123        $objImage = new SC_Image($this->temp_dir); 
     124        $cnt = 0; 
     125        foreach($this->keyname as $val) { 
     126            if ($val == $keyname) { 
     127                // °ì»þ¥Õ¥¡¥¤¥ë¤Î¾ì¹çºï½ü¤¹¤ë¡£ 
     128                if($this->temp_file[$cnt] != "") { 
     129                    // Éé²Ùʬ»¶»þ¤Ï¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¤«¤éºï½ü 
     130                    if($this->multi_web_server_mode === true) { 
     131                        $this->ftpDeleteFile($this->ftp_temp_dir . $this->temp_file[$cnt]); 
     132                    } else { 
     133                        $objImage->deleteImage($this->temp_file[$cnt], $this->save_dir); 
     134                    } 
     135                } 
     136                $this->temp_file[$cnt] = ""; 
     137                $this->save_file[$cnt] = ""; 
     138            } 
     139            $cnt++; 
     140        } 
     141    } 
     142     
     143    // °ì»þ¥Õ¥¡¥¤¥ë¥Ñ¥¹¤ò¼èÆÀ¤¹¤ë¡£ 
     144    function getTempFilePath($keyname) { 
     145        $cnt = 0; 
     146        $filepath = ""; 
     147        foreach($this->keyname as $val) { 
     148            if ($val == $keyname) { 
     149                if($this->temp_file[$cnt] != "") { 
     150                    $filepath = $this->temp_dir . "/" . $this->temp_file[$cnt]; 
     151                } 
     152            } 
     153            $cnt++; 
     154        } 
     155        return $filepath; 
     156    } 
     157     
     158    // °ì»þ¥Õ¥¡¥¤¥ë¤òÊݸ¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Ü¤¹ 
     159    function moveTempFile() { 
     160        $cnt = 0; 
     161        $objImage = new SC_Image($this->temp_dir); 
     162         
     163        foreach($this->keyname as $val) { 
     164            if($this->temp_file[$cnt] != "") { 
     165                // Éé²Ùʬ»¶»þ¤Ï¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¤Ç°Üư¤ò¼Â¹Ô 
     166                if($this->multi_web_server_mode === true) { 
     167                    $dist_path = $this->ftp_save_dir . $this->temp_file[$cnt]; 
     168                    $src_path = $this->temp_dir . $this->temp_file[$cnt]; 
     169                    $this->ftpMoveFile($dist_path, $src_path); 
     170                } else { 
     171                    $objImage->moveTempImage($this->temp_file[$cnt], $this->save_dir); 
     172                } 
     173                 
     174                // ¤¹¤Ç¤ËÊݸ¥Õ¥¡¥¤¥ë¤¬¤¢¤Ã¤¿¾ì¹ç¤Ïºï½ü¤¹¤ë¡£ 
     175                if($this->save_file[$cnt] != "" && !ereg("^sub/", $this->save_file[$cnt])) { 
     176                    // Éé²Ùʬ»¶»þ¤Ï¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¤Ç¥Õ¥¡¥¤¥ëºï½ü 
     177                    if($this->multi_web_server_mode === true) { 
     178                        $this->ftpDeleteFile($this->ftp_save_dir . $this->save_file[$cnt]); 
     179                    } else { 
     180                        $objImage->deleteImage($this->save_file[$cnt], $this->save_dir); 
     181                    } 
     182                } 
     183            } 
     184            $cnt++; 
     185        } 
     186    } 
     187     
     188    // HIDDENÍѤΥե¡¥¤¥ë̾ÇÛÎó¤òÊÖ¤¹ 
     189    function getHiddenFileList() { 
     190        $cnt = 0; 
     191        foreach($this->keyname as $val) { 
     192            if($this->temp_file[$cnt] != "") { 
     193                $arrRet["temp_" . $val] = $this->temp_file[$cnt]; 
     194            } 
     195            if($this->save_file[$cnt] != "") { 
     196                $arrRet["save_" . $val] = $this->save_file[$cnt]; 
     197            } 
     198            $cnt++;  
     199        } 
     200        return $arrRet; 
     201    } 
     202     
     203    // HIDDEN¤ÇÁ÷¤é¤ì¤Æ¤­¤¿¥Õ¥¡¥¤¥ë̾¤ò¼èÆÀ¤¹¤ë 
     204    function setHiddenFileList($arrPOST) { 
     205        $cnt = 0; 
     206        foreach($this->keyname as $val) { 
     207            $key = "temp_" . $val; 
     208            if($arrPOST[$key] != "") { 
     209                $this->temp_file[$cnt] = $arrPOST[$key]; 
     210            } 
     211            $key = "save_" . $val; 
     212            if($arrPOST[$key] != "") { 
     213                $this->save_file[$cnt] = $arrPOST[$key]; 
     214            } 
     215            $cnt++; 
     216        } 
     217    } 
     218     
     219    // ¥Õ¥©¡¼¥à¤ËÅϤ¹ÍѤΥե¡¥¤¥ë¾ðÊóÇÛÎó¤òÊÖ¤¹ 
     220    function getFormFileList($temp_url, $save_url, $real_size = false) { 
     221 
     222        $cnt = 0; 
     223        foreach($this->keyname as $val) { 
     224            if($this->temp_file[$cnt] != "") { 
     225                // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¥Á¥§¥Ã¥¯(¥Ñ¥¹¤Î¥¹¥é¥Ã¥·¥å/¤¬Ï¢Â³¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£) 
     226                if(ereg("/$", $temp_url)) { 
     227                    $arrRet[$val]['filepath'] = $temp_url . $this->temp_file[$cnt]; 
     228                } else { 
     229                    $arrRet[$val]['filepath'] = $temp_url . "/" . $this->temp_file[$cnt]; 
     230                } 
     231                $arrRet[$val]['real_filepath'] = $this->temp_dir . $this->temp_file[$cnt]; 
     232            } elseif ($this->save_file[$cnt] != "") { 
     233                // ¥Õ¥¡¥¤¥ë¥Ñ¥¹¥Á¥§¥Ã¥¯(¥Ñ¥¹¤Î¥¹¥é¥Ã¥·¥å/¤¬Ï¢Â³¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£) 
     234                if(ereg("/$", $save_url)) { 
     235                    $arrRet[$val]['filepath'] = $save_url . $this->save_file[$cnt]; 
     236                } else { 
     237                    $arrRet[$val]['filepath'] = $save_url . "/" . $this->save_file[$cnt]; 
     238                } 
     239                $arrRet[$val]['real_filepath'] = $this->save_dir . $this->save_file[$cnt]; 
     240            } 
     241            if($arrRet[$val]['filepath'] != "") { 
     242                if($real_size){ 
     243                    if(is_file($arrRet[$val]['real_filepath'])) { 
     244                        list($width, $height) = getimagesize($arrRet[$val]['real_filepath']); 
     245                    } 
     246                    // ¥Õ¥¡¥¤¥ë²£Éý 
     247                    $arrRet[$val]['width'] = $width; 
     248                    // ¥Õ¥¡¥¤¥ë½ÄÉý 
     249                    $arrRet[$val]['height'] = $height; 
     250                }else{ 
     251                    // ¥Õ¥¡¥¤¥ë²£Éý 
     252                    $arrRet[$val]['width'] = $this->width[$cnt]; 
     253                    // ¥Õ¥¡¥¤¥ë½ÄÉý 
     254                    $arrRet[$val]['height'] = $this->height[$cnt]; 
     255                } 
     256                // ɽ¼¨Ì¾ 
     257                $arrRet[$val]['disp_name'] = $this->disp_name[$cnt]; 
     258            } 
     259            $cnt++; 
     260        } 
     261        return $arrRet; 
     262    } 
     263     
     264    // DBÊݸÍѤΥե¡¥¤¥ë̾ÇÛÎó¤òÊÖ¤¹ 
     265    function getDBFileList() { 
     266        $cnt = 0; 
     267        foreach($this->keyname as $val) { 
     268            if($this->temp_file[$cnt] != "") { 
     269                $arrRet[$val] = $this->temp_file[$cnt]; 
     270            } else  { 
     271                $arrRet[$val] = $this->save_file[$cnt]; 
     272            } 
     273            $cnt++; 
     274        } 
     275        return $arrRet; 
     276    } 
     277     
     278    // DB¤ÇÊݸ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë̾ÇÛÎó¤ò¥»¥Ã¥È¤¹¤ë 
     279    function setDBFileList($arrVal) { 
     280        $cnt = 0; 
     281        foreach($this->keyname as $val) { 
     282            if($arrVal[$val] != "") { 
     283                $this->save_file[$cnt] = $arrVal[$val]; 
     284            } 
     285            $cnt++;  
     286        } 
     287    } 
     288     
     289    // ²èÁü¤ò¥»¥Ã¥È¤¹¤ë 
     290    function setDBImageList($arrVal) { 
     291        $cnt = 0; 
     292        foreach($this->keyname as $val) { 
     293            if($arrVal[$val] != "" && $val == 'tv_products_image') { 
     294                $this->save_file[$cnt] = $arrVal[$val]; 
     295            } 
     296            $cnt++;  
     297        } 
     298    } 
     299     
     300    // DB¾å¤Î¥Õ¥¡¥¤¥ë¤ÎÆâºï½üÍ׵᤬¤¢¤Ã¤¿¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¡£  
     301    function deleteDBFile($arrVal) { 
     302        $objImage = new SC_Image($this->temp_dir); 
     303        $cnt = 0; 
     304        foreach($this->keyname as $val) { 
     305            if($arrVal[$val] != "") { 
     306                if($this->save_file[$cnt] == "" && !ereg("^sub/", $arrVal[$val])) { 
     307                     
     308                    // Éé²Ùʬ»¶»þ¤Ï¤¹¤Ù¤Æ¤Î¥µ¡¼¥Ð¤Ç¥Õ¥¡¥¤¥ëºï½ü 
     309                    if($this->multi_web_server_mode === true) { 
     310                        $this->ftpDeleteFile($this->ftp_save_dir . $arrVal[$val]); 
     311                    } else { 
     312                        $objImage->deleteImage($arrVal[$val], $this->save_dir); 
     313                    } 
     314                } 
     315            } 
     316            $cnt++;  
     317        } 
     318    } 
     319     
     320    // ɬ¿ÜȽÄê 
     321    function checkEXISTS($keyname = "") { 
     322        $cnt = 0; 
     323        $arrRet = array(); 
     324        foreach($this->keyname as $val) { 
     325            if($val == $keyname || $keyname == "") { 
     326                // ɬ¿Ü¤Ç¤¢¤ì¤Ð¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
     327                if ($this->necessary[$cnt] == true) { 
     328                    if($this->save_file[$cnt] == "" && $this->temp_file[$cnt] == "") { 
     329                        $arrRet[$val] = "¢¨ " . $this->disp_name[$cnt] . "¤¬¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£<br>"; 
     330                    } 
     331                } 
     332            } 
     333            $cnt++; 
     334        } 
     335        return $arrRet; 
     336    } 
     337         
     338    // ³ÈÂçΨ¤ò»ØÄꤷ¤Æ²èÁüÊݸ 
     339    function saveResizeImage($keyname, $to_w, $to_h) { 
     340        $path = ""; 
     341         
     342        // keyname¤ÎźÉÕ¥Õ¥¡¥¤¥ë¤ò¼èÆÀ 
     343        $arrImageKey = array_flip($this->keyname); 
     344        $file = $this->temp_file[$arrImageKey[$keyname]]; 
     345        $filepath = $this->temp_dir . $file; 
     346         
     347        $path = $this->makeThumb($filepath, $to_w, $to_h); 
     348         
     349        // ¥Õ¥¡¥¤¥ë̾¤À¤±ÊÖ¤¹ 
     350        return basename($path); 
     351    } 
     352 
     353    /**          
     354     * ¥Õ¥¡¥¤¥ë¤òÁ´¤Æ¤ÎWEB¥µ¡¼¥Ð¤Ø¥³¥Ô¡¼ 
     355     * 
     356     * @param string $dst_path ¥³¥Ô¡¼Àè¥Õ¥¡¥¤¥ë¥Ñ¥¹(ÁêÂХѥ¹) 
     357     * @param string $src_path ¥³¥Ô¡¼¸µ¥Õ¥¡¥¤¥ë¥Ñ¥¹(ÀäÂХѥ¹) 
     358     * @param boolean $del_flag °Üư¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¥Õ¥é¥° 
     359     * @return void 
     360     */ 
     361    function ftpMoveFile($dst_path, $src_path, $del_flag = false) { 
     362        global $arrWEB_SERVERS; 
     363 
     364        // Á´¤Æ¤Î¥µ¡¼¥Ð¤Ë¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤¹¤ë 
     365        foreach($arrWEB_SERVERS as $array) { 
     366            sfFtpCopy($array['host'], $array['user'], $array['pass'], $dst_path, $src_path); 
     367        } 
     368        // °Üư¸å¤Ï¥Õ¥¡¥¤¥ë¤òºï½ü 
     369        if($del_flag === true) { 
     370            @unlink($src_path); 
     371        } 
     372    } 
     373 
     374    /**          
     375     * ¥Õ¥¡¥¤¥ë¤òÁ´¤Æ¤ÎWEB¥µ¡¼¥Ð¾å¤«¤éºï½ü 
     376     * 
     377     * @param string $dst_path ¥³¥Ô¡¼Àè¥Õ¥¡¥¤¥ë¥Ñ¥¹(ÁêÂХѥ¹) 
     378     * @return void 
     379     */ 
     380    function ftpDeleteFile($dst_path) { 
     381        global $arrWEB_SERVERS; 
     382 
     383        // Á´¤Æ¤Î¥µ¡¼¥Ð¤Ë¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤¹¤ë 
     384        foreach($arrWEB_SERVERS as $array) { 
     385            sfFtpDelete($array['host'], $array['user'], $array['pass'], $dst_path); 
     386        } 
     387    } 
     388 
     389 
     390    /** 
     391     * FTPÍÑ¥Õ¥¡¥¤¥ë°ì»þ³ÊǼ¥Ç¥£¥ì¥¯¥È¥êºîÀ® 
     392     * 
     393     * @param string $dir ºîÀ®¥Ç¥£¥ì¥¯¥È¥ê 
     394     * @return string $ftp_temp_dir ºîÀ®°ì»þ³ÊǼ¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹ 
     395     */ 
     396    function makeFtpTempDir($dir) { 
     397        // FTPÍÑ¥Õ¥¡¥¤¥ë°ì»þ³ÊǼÍѥǥ£¥ì¥¯¥È¥ê 
     398        $ftp_temp_dir = $this->temp_dir . "ftp_temp/"; 
     399        // ¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¤éºîÀ® 
     400        if(!file_exists($ftp_temp_dir)) { 
     401            mkdir($ftp_temp_dir); 
     402            chmod($ftp_temp_dir, 0777); 
     403        } 
     404         
     405        return $ftp_temp_dir; 
     406    } 
    312407} 
    313408?> 
Note: See TracChangeset for help on using the changeset viewer.