Changeset 14676 for branches/beta/data/class/SC_UploadFile.php
- Timestamp:
- 2007/06/14 22:01:13 (19 years ago)
- File:
-
- 1 edited
-
branches/beta/data/class/SC_UploadFile.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/beta/data/class/SC_UploadFile.php
r293 r14676 7 7 8 8 $SC_UPLOADFILE_DIR = realpath(dirname( __FILE__)); 9 require_once($SC_UPLOADFILE_DIR . "/../lib/gdthumb.php"); 9 require_once($SC_UPLOADFILE_DIR . "/../lib/gdthumb.php"); 10 require_once($SC_UPLOADFILE_DIR . "/../include/ftp.php"); 10 11 11 12 /* ¥¢¥Ã¥×¥í¡¼¥É¥Õ¥¡¥¤¥ë´ÉÍý¥¯¥é¥¹ */ 12 13 class 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 } 312 407 } 313 408 ?>
Note: See TracChangeset
for help on using the changeset viewer.
