Files
firstgarden-web-gnu/cheditor5/imageUpload/upload.php
2012-10-05 15:12:27 +09:00

102 lines
2.5 KiB
PHP

<?php
// ---------------------------------------------------------------------------
// CHXImage
//
// 이 코드는 데모를 위해서 제공됩니다.
// 환경에 맞게 수정 또는 참고하여 사용해 주십시오.
//
// ---------------------------------------------------------------------------
require_once("_config.php");
//----------------------------------------------------------------------------
//
//
$tempfile = $_FILES['file']['tmp_name'];
$filename = $_FILES['file']['name'];
//if (preg_match("/\.(php|htm|inc)/i", $filename)) die("-ERR: File Format");
// demo.html 파일에서 설정한 SESSID 값입니다.
$sessid = $_POST['sessid'];
// 저장 파일 이름
// $savefile = SAVE_DIR . '/' . $_FILES['file']['name'];
$pos = strrpos($filename, '.');
$ext = strtolower(substr($filename, $pos, strlen($filename)));
switch ($ext) {
case '.gif' :
case '.png' :
case '.jpg' :
case '.jpeg' :
break;
default :
die("-ERR: File Format!");
}
$pos = strrpos($filename, '.');
$ext = substr($filename, $pos, strlen($filename));
//$random_name = random_generator() . $ext;
$random_name = md5($_SERVER['REMOTE_ADDR']) . '_' . random_generator() . $ext;
$savefile = SAVE_DIR . '/' . $random_name;
move_uploaded_file($tempfile, $savefile);
$imgsize = getimagesize($savefile);
$filesize = filesize($savefile);
if (!$imgsize) {
$filesize = 0;
$random_name = '-ERR';
unlink($savefile);
};
$rdata = sprintf( "{ fileUrl: '%s/%s', filePath: '%s/%s', origName: '%s', fileName: '%s', fileSize: '%d' }",
SAVE_URL,
$random_name,
SAVE_DIR,
$random_name,
$filename,
$random_name,
$filesize );
echo $rdata;
function random_generator ($min=8, $max=32, $special=NULL, $chararray=NULL) {
// ---------------------------------------------------------------------------
//
//
$random_chars = array();
if ($chararray == NULL) {
$str = "abcdefghijklmnopqrstuvwxyz";
$str .= strtoupper($str);
$str .= "1234567890";
if ($special) {
$str .= "!@#$%";
}
}
else {
$str = $charray;
}
for ($i=0; $i<strlen($str)-1; $i++) {
$random_chars[$i] = $str[$i];
}
srand((float)microtime()*1000000);
shuffle($random_chars);
$length = rand($min, $max);
$rdata = '';
for ($i=0; $i<$length; $i++) {
$char = rand(0, count($random_chars) - 1);
$rdata .= $random_chars[$char];
}
return $rdata;
}
?>