Source for file rainFile.php
Documentation is available at rainFile.php
* ÆÄÀÏ Ã·ºÎ °ü¸® ¹× ·¹ÀÎ ¿¡µðÅÍ Àü¼Û ³»¿ë °ü¸®
* @author http://cafen.net (outmind@cafen.net)
* MultipartRequest Àü¼Û¹ÞÀº µ¥ÀÌŸ
* ÃÖ´ë Àü¼Û¹ÞÀ» ¼ö ÀÖ´Â µ¥ÀÌŸ ¿ë·®(50M)
* @param String ±âº»ÀÛ¾÷°ø°£
function rainFile($base_root, $multi_part =
Array()) {
* @param String ±âº»ÀÛ¾÷°ø°£
$this->tmp_dir =
$base_root +
"junk/";
$this->multi=
$multi_part;
* ¸ÖƼ ÆÄÆ®¿¡¼ ƯÁ¤ form¸íÀÇ ÆÄÀÏ¸í °¡Á®¿À±â
* ¸ÖƼ ÆÄÆ®¿¡¼ ƯÁ¤ form¸íÀÇ ÆÄÀÏÅ©±â °¡Á®¿À±â
* ¼¹ö¿¡ ÀúÀåµÈ ÆÄÀÏ¿¡¼ ƯÁ¤ ÆÄÀÏÀÇ Å©±â °¡Á®¿À±â
* ÆÄÀϰæ·Î ¸í¿¡¼ ÆÄÀÏ¸í¸¸ °¡Á®¿À±â
* ƯÁ¤ÆÄÀϸíÀÌ ¾÷·Îµå °¡´ÉÇÑ ÆÄÀϸíÀÎÁö È®ÀÎ
* @return Boolean ¾÷·Îµå °¡´É¿©ºÎ
* À¥»ó¿¡ ÀÖ´Â ÆÄÀÏÀ» ·ÎÄü¹ö¿¡ ÀúÀå
* @param String ¸®¸ðÆ® ¼¹ö URL
* @param String ÀúÀåÇÒ À§Ä¡(¸¶Áö¸·¿¡ / ÀÌ ÀÖ´Â °æ¿ì Æúµå·Î °£ÁÖ)
* @return String ¾÷·ÎµåµÈ ÆÄÀÏ °æ·Î¸í
function remote_Copy($remoteName, $tar_folderfile=
"" , $prefix =
"") {
$filename =
$this->getName($remoteName);
if ($filename ==
null ||
$filename ==
"")
$move_file =
$tar_folderfile .
$this->nameUnique($prefix) .
"." .
$fileext;
* Àü¼Û ¹ÞÀº multi part ¿¡¼ ƯÁ¤ µ¥ÀÌŸ¸¦ ƯÁ¤ ¿µ¿ªÀ¸·Î ÀÌÀü
* @param String ÀúÀåÇÒ À§Ä¡(¸¶Áö¸·¿¡ / ÀÌ ÀÖ´Â °æ¿ì Æúµå·Î °£ÁÖ)
* @return String ¾÷·ÎµåµÈ ÆÄÀÏ °æ·Î¸í
function file_Copy($formName, $tar_folderfile =
"" , $prefix =
"") {
if ($tar_folderfile ==
"" ||
$tar_folderfile ==
".")
$fileServer =
$this->multi[$formName]['tmp_name'];
$fileName=
$this->multi[$formName]['name'];
$fileType=
$this->multi[$formName]['type'];
$fileSize =
$this->multi[$formName]['size'];
$tar_folder =
dirname($tar_folderfile);
$move_file =
$tar_folder .
"/" .
$this->nameUnique($prefix) .
"." .
$fileext;
$move_file =
$tar_folder .
"/" .
$tar_file ;
* ƯÁ¤ À̹ÌÁöÆÄÀÏÀÇ °¡·Î¼¼·Î Á¤º¸ °¡Á®¿À±â
* @param String À̹ÌÁö ÆÄÀϰæ·Î
* @return Array [°¡·Î,¼¼·Î]
* @param String ´Ù¿î·ÎµåÇÒ ÆÄÀÏ À§Ä¡
* @param String ´Ù¿î·Îµå¸í
function downLoad($fileName, $downName =
"") {
header("Content-Disposition: attachment;filename=".
$downName);
header("Content-Length: ".
$fileSize);
Header("Content-type: application/unknown");
* ƯÁ¤ ÆÄÀÏ À̹ÌÁö ÇüÀ¸·Î ´Ù¿î·Îµå
* @param String ´Ù¿î·ÎµåÇÒ ÆÄÀÏ À§Ä¡
* @param String ÀÐÀ» ÆÄÀÏ À̸§
* @return String ÆÄÀÏ ³»¿ë
* ÆÄÀÏ¸í¿¡¼ È®ÀåÀÚ°¡Á®¿À±â
* @param String ÀÐÀ» ÆÄÀÏ À̸§
* @return String ÆÄÀÏ È®ÀåÀÚ
$tar_file_extension =
"";
if (ereg("\.([^\.]+)$", $fileName, $tmp_reg))
$tar_file_extension =
"tmp";
$tar_file_extension =
"";
return $tar_file_extension;
* @return Boolean À̹ÌÁöÆÄÀÏ¿©ºÎ
* @return Boolean µ¿¿µ»óÆÄÀÏ¿©ºÎ
return rainUtil::find("(asf|mp3|pmeg|pmg|avi|wma|wmv|flv)$", $fileName);
* ÆÄÀÏÅ©±â¸¦ Àб⠽¬¿î ÇüÅ·Πº¯È¯
* @return String ÆÄÀÏÅ©±â
else if ($file_size >=
1024*
1024)
else if ($file_size >=
1024)
* ¹®ÀåÀÌ text ÀÎÁö html ÇüÀÎÁö¸¦ ÀÚµ¿ ÆÇ´ÜÈÄ À¥¿¡¼ Àб⠰¡´ÉÇÑ ÇüÅ·Πº¯È¯
* @param String ´ë»ó ¹®ÀÚ
* @return String º¯È¯µÈ¹®ÀÚ
* @param String Àû¿ë¸ðµå [DELETE : ÆÄÀÏ »èÁ¦, MOVE : ÆÄÀÏ ÀÌÀü]
* @param String ´ë»ó ÆÄÀϸí
* @param String ÀÌÀüÇÒ À§Ä¡
function treatUpload($mode, $fileName, $nfileName =
"") {
else if ($mode ==
"MOVE")
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¸¶Áö¸· ¹®Àå
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¸¶Áö¸· ¹®Àå text
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¸¶Áö¸· ¹®Àå Ű¿öµå
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ ¼Ò½º
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ ¸ðµå(H: html, T: text, A: ÀÚµ¿¸ðµå)
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ Ã·ºÎÆÄÀÏ Á¤º¸
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ ´ëÇ¥À̹ÌÁö °æ·Î
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼¿¡ µ¿¿µ»ó ÷ºÎ ¿©ºÎ[N: ÷ºÎ¾ÈµÊ, Y: ÷ºÎµÊ]
var $boundary =
'@4d4e81d3f9219886bcadb3dc9b503f82@';
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ Àüü ÷ºÎ¿ë·®
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ º»¹®¾È¿¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀº ÆÄÀϿ뷮
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ Á¤¸®
* @param String »õ·Î ÀÛ¼ºµÈ ³»¿ë
* @param String ÀÌÀü ÆÄÀÏ ³»¿ë
* @return String Á¤¸®µÈ ¹®¼ ³»¿ë
if ($old_contents !=
'') {
if (@count($old_attach) >
0) {
foreach($old_attach as $key =>
$val) {
if (count($new_attach) >
0) {
foreach($new_attach as $key =>
$val) {
if (eregi("^junk/", $key)) {
$file_str .=
$key.
'|'.
$val['SIZE'].
'|'.
$val['EXT'].
'|'.
$val['FILENAME'].
'#';
$contents =
$new_contents.
$this->boundary.
$new_type.
'*'.
$file_str.
$this->boundary;
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ ÆÄ½Ì
* @param String ¿¡µðÅÍ ³»¿ë
* @param Int Ç¥½Ã¿µ¿ª ÃÖ´ëÆø
* @return String Á¤¸®µÈ ¹®¼ ³»¿ë
// $contents = stripslashes($contents);
$contents =
$tmp_reg[1].
$tmp_reg[3];
$contents_info_arr =
explode("*", $tmp_reg[2]);
if (count($contents_info_arr) ==
2) {
$contents_type =
$contents_info_arr[0];
$contents_file =
$contents_info_arr[1];
$contents_file =
$tmp_reg[1];
case "a" :
$contents =
$this->text2Html($contents); break;
$contents =
nl2br($contents);
if ($contents_file !=
'') {
$contents_file_info =
explode("#", $contents_file);
foreach ($contents_file_info as $key =>
$val) {
if ($val !=
'' &&
count($file_info =
explode("|", $val)) >
3) {
$file_server =
$file_info[0];
if ($file_server !=
'') {
$file_list[$file_server]['SERVER'] =
$file_server ;
$file_list[$file_server]['SIZE'] =
$file_info[1];
$file_list[$file_server]['EXT'] =
$file_info[2];
$file_list[$file_server]['FILENAME'] =
$file_info[3];
if ($this->isImage($file_server) &&
$img_size_max <
$file_info[1]) {
$img_size_max =
$file_info[1];
if (eregi($file_server, "$contents")) $file_list[$file_server]['INCLUDED'] =
true;
$file_list[$file_server]['INCLUDED'] =
false;
$contents =
preg_replace("/\<[^>]+blank.html[^>]*>/i", "", $contents);
$contents =
preg_replace("/onload=[^ >]+/i", "", $contents);
$contents =
preg_replace("/<script[^<]+<\/script>/i", "", $contents);
$contents =
preg_replace("/onclick=[^ >]+/i", "", $contents);
$contents =
preg_replace("/(\META[^>]+>)/i", "", $contents);
$contents =
preg_replace("/(\<a [^>]+)target=[^ ]+([^>]*>)/i", "\\1\\2", $contents);
$contents =
preg_replace("/(\<a [^>]+)onclick=[^ ]+([^>]*>)/i", "\\1\\2", $contents);
$contents =
preg_replace("/(\<a [^>]+)href=.*javascript:[^ ]+([^>]*>)/i", "", $contents);
$contents =
preg_replace("/\<a /i", "<a target=_blank ", $contents);
$contents =
eregi_replace("<RIMGCAPTION>¡ã([^\n]+)</RIMGCAPTION>","#RAINIMGST\\1#RAINIMGEND",$contents);
while (eregi(" ",$contents_text)) {
* ·¹Àο¡µðÅÍ¿¡¼ ÀÛ¼ºµÈ ¹®¼ÀÇ Ã·ºÎÆÄÀÏ ´Ù¿î·Îµå °æ·Î ÆÄ½Ì
* @param Boolean º»¹®¾È¿¡ Æ÷ÇÔµÈ ³»¿ëµµ °°ÀÌ ÆÄ½ÌÇÒ°ÍÀÎÁö ¿©ºÎ
* @return String ÷ºÎÆÄÀÏ ´Ù¿î·Îµå °æ·Î
if ($show_include ||
!$this->rainAttach[$key]['INCLUDED']) {
case "gif" :
$file_icon =
'sgif.gif'; break;
case "jpg" :
$file_icon =
'sjpg.gif'; break;
case "jpeg" :
$file_icon =
'sjpg.gif'; break;
case "bmp" :
$file_icon =
'sbmp.gif'; break;
case "alz" :
$file_icon =
'salz.gif'; break;
case "avi" :
$file_icon =
'savi.gif'; break;
case "flv" :
$file_icon =
'savi.gif'; break;
case "doc" :
$file_icon =
'sdoc.gif'; break;
case "exe" :
$file_icon =
'sexe.gif'; break;
case "htm" :
$file_icon =
'shtm.gif'; break;
case "html" :
$file_icon =
'shtm.gif'; break;
case "hwp" :
$file_icon =
'shwp.gif'; break;
case "mdb" :
$file_icon =
'smdb.gif'; break;
case "mp3" :
$file_icon =
'smp3.gif'; break;
case "pdf" :
$file_icon =
'spdf.gif'; break;
case "ppt" :
$file_icon =
'sppt.gif'; break;
case "psd" :
$file_icon =
'spsd.gif'; break;
case "tif" :
$file_icon =
'stif.gif'; break;
case "txt" :
$file_icon =
'stxt.gif'; break;
case "xls" :
$file_icon =
'sxls.gif'; break;
case "zip" :
$file_icon =
'szip.gif'; break;
case "tar" :
$file_icon =
'szip.gif'; break;
case "tgz" :
$file_icon =
'szip.gif'; break;
default :
$file_icon =
'setc.gif'; break;
$return_str .=
"<img src='".
rainUtil::getConf("url_images").
"ext/".
$file_icon.
"' align=absmiddle border=0 hspace=1><a href='".
rainUtil::getConf("url_uploads") .
"download.html?fn=".
$key.
"&dn=".
urlencode($val['FILENAME']).
"'>".
$val['FILENAME'].
"(".
$this->file_Size($val['SIZE']).
")</a> ";
* @param String ´ë»ó ¹®ÀÚ
* @return String űװ¡ Á¦°ÅµÈ ¹®ÀÚ
Documentation generated on Mon, 17 Mar 2008 12:17:46 +0900 by phpDocumentor 1.4.0a2
| Copyright 2005 cafen.net