| span style="color: #0000BB"><?phpif (!defined('SECURED')){ die("Unknown Error!");}function om_upload($uploadedfile,$uploaddir,$max_filesize='',$accepted_extensions='',$image_res='') { $max_filesize=(int)$max_filesize; //$uploaddir = "./files"; //$uploadedfile = $_POST['fail1']; if(empty($uploadedfile)) { $error_msg = "Файл не был загружен."; } else { if (strlen($uploadedfile) > 0) { $array = explode('file=', $uploadedfile); $tmp_name = $array[0]; $filebase64 = $array[1]; } $tran = array( "A"=>"А","a"=>"а","B"=>"Б","b"=>"б","V"=>"В", "v"=>"в","G"=>"Г","g"=>"г","D"=>"Д","d"=>"д", "E"=>"Е","e"=>"е","yo"=>"Ё","Zh"=>"Ж","zh"=>"ж", "Z"=>"З","z"=>"з","I"=>"И","i"=>"и","J"=>"Й", "j"=>"й","K"=>"К","k"=>"к","L"=>"Л","l"=>"л", "M"=>"М","m"=>"м","N"=>"Н","n"=>"н","O"=>"О", "o"=>"о","P"=>"П","p"=>"п","R"=>"Р","r"=>"р", "S"=>"С","s"=>"с","T"=>"Т","t"=>"т","U"=>"У", "u"=>"у","F"=>"Ф","f"=>"ф","H"=>"Х","h"=>"х", "C"=>"Ц","c"=>"ц","Ch"=>"Ч","ch"=>"ч","Sh"=>"Ш", "sh"=>"ш","Sch"=>"Щ","sch"=>"щ","''"=>"ъ", "Y"=>"Ы","y"=>"ы","'"=>"ь","Ye"=>"Э", "ye"=>"э","Yu"=>"Ю","yu"=>"ю","Ya"=>"Я","ya"=>"я", "Yo"=>"ё" ); $tran=array_flip($tran); $tmp_name=strtr($tmp_name,$tran); $tmp_name = ereg_replace("[^a-z0-9._-]", "", str_replace(" ", "_", str_replace("%20", "_", strtolower($tmp_name)))); $tfl = pathinfo($tmp_name, PATHINFO_EXTENSION); if (count($accepted_extensions)>0 && !in_array($tfl, $accepted_extensions)) { $error_msg = "В этой категории к закачке разрешены только файлы форматов <b>".strtoupper(implode(', ',$accepted_extensions))."</b>."; } else { if ($max_filesize>0 && (strlen(base64_decode($filebase64)) >= 1024 * $max_filesize)) { $error_msg = "Размер файла не должен превышать $max_filesize КБ (".($max_filesize * 1024)." байт)."; } else { if (strlen($filebase64) > 0) { $fname = str_replace('.'.$tfl, null, $tmp_name); $n=1; while(file_exists("$uploaddir/$fname$copy.$tfl")) { $copy = "_copy" . $n; $n++; } $FileName = "$uploaddir/$fname$copy.$tfl"; $Raw = "$fname$copy.$tfl"; $filedata = base64_decode($filebase64); $fid = @fopen($FileName, "wb"); if ($fid) { if (flock($fid, LOCK_EX)) { fwrite($fid, $filedata); flock($fid, LOCK_UN); } fclose($fid); } if (file_exists($FileName) && filesize($FileName) == strlen($filedata)) { list($image_width,$image_height) = @getimagesize($FileName); $max_image_width=$image_res[0]; $max_image_height=$image_res[1]; if(($max_image_width || $max_image_height) && (($image_width > $max_image_width) || ($image_height > $max_image_height))) { $error_msg = "Размер изображения не должен превышать $max_image_width x $max_image_height пикселей."; } else { $uploaded = true; } } else { $error_msg = 'Unknown Error!'; } } else { $error_msg = 'Unknown Error!'; } } } }if(!empty($error_msg)) return array(false,$error_msg);return array($uploaded,$Raw);}?> |
|