<?
function cyrtolat($text)
{
$cyr = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у',
'ф','х','ц','ч','ш','щ','ъ', 'ы','ь', 'э', 'ю','я','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У',
'Ф','Х','Ц','Ч','Ш','Щ','Ъ', 'Ы','Ь', 'Э', 'Ю','Я' );
$lat = array( 'a','b','v','g','d','e','yo','zh','z','i','y','k','l','m','n','o','p','r','s','t','u',
'f' ,'h' ,'ts' ,'ch','sh' ,'sch' ,'', 'i', '', 'e' ,'yu' ,'ya','A','B','V','G','D','E','YO','Zh','Z','I','Y','K','L','M','N','O','P','R','S','T','U',
'F' ,'H' ,'Ts' ,'Ch','Sh' ,'SCH' ,'' ,'I','','E' ,'YU' ,'YA' );
return str_replace($cyr,$lat, $text);
}
?>
function makeurl($text)
{
$spec = array(',','.','!','@','#','$','%','^','&','*','(',')','_','+','=','~','`','\'','\\','/','"',';',':',
'<','>','?','{','}','[',']', '|',' ','\t','»','«');
$rep = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','', '','-','-','','');
$text = str_replace(html_entity_decode('—'),'',$text);
$text=mb_str_replace($spec, $rep, $text);
$text=mb_str_replace("--","-", $text);
$text=mb_str_replace("--","-", $text);
$text=mb_str_replace("--","-", $text);
return $text;
}
function compress($path,$file)
{
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
error_reporting(0);
ini_set('memory_limit', '512M');
if($ext=='jpg' || $ext=='jpeg'|| $ext=='png'|| $ext=='gif')
{
$stamp = imagecreatefrompng($_SERVER['DOCUMENT_ROOT'].'/images/wm.png');
$sfile=$path."s_".$file;
$lfile=$path."l_".$file;
$fullfile=$path.$file;
if(!($im = imagecreatefromjpeg($fullfile)))
$im = imagecreatefrompng($fullfile);
if($im)
{
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
imagejpeg($im,$fullfile);
$iw = imagesx($im);
$ih = imagesy($im);
$k = 650 / $iw;
if($k>1)$k=1;
$sx = floor($iw * $k); $sy = floor($ih * $k);
$im_m = imagecreatetruecolor($sx, $sy);
imagealphablending( $im_m, false );
imagesavealpha( $im_m, true );
$transparent = imagecolorallocatealpha($im_m, 255, 255, 255,255);
imagefilledrectangle($im_m, 0, 0, $sx, $sy, $transparent);
imagecopyresampled($im_m, $im, 0, 0, 0, 0, $sx, $sy, $iw, $ih);
$r_l = imagejpeg($im_m,$lfile);
$iw = imagesx($im); $ih = imagesy($im);
$k = 200 / $iw;
if($k>1)$k=1;
$sx = floor($iw * $k); $sy = floor($ih * $k);
$im_m = imagecreatetruecolor($sx, $sy);
imagealphablending( $im_m, false );
imagesavealpha( $im_m, true );
$transparent = imagecolorallocatealpha($im_m, 255, 255, 255, 127);
imagefilledrectangle($im_m, 0, 0, $sx, $sy, $transparent);
imagecopyresampled($im_m, $im, 0, 0, 0, 0, $sx, $sy, $iw, $ih);
$r_s = imagejpeg($im_m,$sfile);
}
else
{
copy($fullfile, $lfile);
copy($fullfile, $sfile);
}
}
error_reporting(1);
}
function getpath($max)
{
$docroot=$_SERVER['DOCUMENT_ROOT']."/";
include $docroot."config.php";
if($max<10)$max='00'.$max;
else
if($max<100)$max='0'.$max;
$targetPath=$docroot.'uploads/'.$max[0].'/'.$max[1].'/'.$max[2].'/';
return $targetPath;
}
mysql_connect("localhost","root","");
mysql_select_db("img");
mysql_query("insert into `img` (`path`) values
('{$_FILES[fileToUpload][name]}')");
$t=mysql_query(
"select `id` from `img` order by `id` desc limit 1");
$res=mysql_fetch_array($t);//последний id
$ext = strtolower(pathinfo($_FILES[fileToUpload][name],
PATHINFO_EXTENSION));//расширение файла
$filename=makeurl(cyrtolat(
pathinfo(
$_FILES[fileToUpload][name],PATHINFO_FILENAME)));//имя в латиницу и убираем спец символы
$file=$filename.".".$ext;
$path=getpath($res['id']);//получаем полный путь с учетом id ->/0/0/1/
move_uploaded_file( $_FILES[fileToUpload]['tmp_name'], $path.$file);
compress($path,$file);
$fullfile=$path.$file;
mysql_query("update `img` set `path`='{$fullfile}' where `id`='{$res['id']}'");
<?
//-------------------------------------------------------------------------------------------------------------
function cyrtolat($text)
{
$cyr = array('а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у',
'ф','х','ц','ч','ш','щ','ъ', 'ы','ь', 'э', 'ю','я','А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У',
'Ф','Х','Ц','Ч','Ш','Щ','Ъ', 'Ы','Ь', 'Э', 'Ю','Я' );
$lat = array( 'a','b','v','g','d','e','yo','zh','z','i','y','k','l','m','n','o','p','r','s','t','u',
'f' ,'h' ,'ts' ,'ch','sh' ,'sch' ,'', 'i', '', 'e' ,'yu' ,'ya','A','B','V','G','D','E','YO','Zh','Z','I','Y','K','L','M','N','O','P','R','S','T','U',
'F' ,'H' ,'Ts' ,'Ch','Sh' ,'SCH' ,'' ,'I','','E' ,'YU' ,'YA' );
return str_replace($cyr,$lat, $text);
}
//-------------------------------------------------------------------------------------------------------------
function makeurl($text)
{
$spec = array(',','.','!','@','#','$','%','^','&','*','(',')','_','+','=','~','`','\'','\\','/','"',';',':',
'<','>','?','{','}','[',']', '|',' ','\t','»','«');
$rep = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','', '','-','-','','');
$text = str_replace(html_entity_decode('—'),'',$text);
$text=str_replace($spec, $rep, $text);
$text=str_replace("--","-", $text);
$text=str_replace("--","-", $text);
$text=str_replace("--","-", $text);
return $text;
}
//-------------------------------------------------------------------------------------------------------------
function compress($path,$file)
{
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
error_reporting(0);
ini_set('memory_limit', '512M');
if($ext=='jpg' || $ext=='jpeg'|| $ext=='png'|| $ext=='gif')
{
$stamp = imagecreatefrompng($_SERVER['DOCUMENT_ROOT'].'/images/wm.png');
$sfile=$path."s_".$file;
$lfile=$path."l_".$file;
$fullfile=$path.$file;
if(!($im = imagecreatefromjpeg($fullfile)))
$im = imagecreatefrompng($fullfile);
if($im)
{
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
imagejpeg($im,$fullfile);
$iw = imagesx($im);
$ih = imagesy($im);
$k = 600 / $iw;
if($k>1)$k=1;
$sx = floor($iw * $k); $sy = floor($ih * $k);
$im_m = imagecreatetruecolor($sx, $sy);
imagealphablending( $im_m, false );
imagesavealpha( $im_m, true );
$transparent = imagecolorallocatealpha($im_m, 255, 255, 255,255);
imagefilledrectangle($im_m, 0, 0, $sx, $sy, $transparent);
imagecopyresampled($im_m, $im, 0, 0, 0, 0, $sx, $sy, $iw, $ih);
$r_l = imagejpeg($im_m,$lfile);
$iw = imagesx($im); $ih = imagesy($im);
$k = 200 / $iw;
if($k>1)$k=1;
$sx = floor($iw * $k); $sy = floor($ih * $k);
$im_m = imagecreatetruecolor($sx, $sy);
imagealphablending( $im_m, false );
imagesavealpha( $im_m, true );
$transparent = imagecolorallocatealpha($im_m, 255, 255, 255, 127);
imagefilledrectangle($im_m, 0, 0, $sx, $sy, $transparent);
imagecopyresampled($im_m, $im, 0, 0, 0, 0, $sx, $sy, $iw, $ih);
$r_s = imagejpeg($im_m,$sfile);
}
else
{
copy($fullfile, $lfile);
copy($fullfile, $sfile);
}
}
error_reporting(1);
}
//---------------------------------------------------------------------------------------------------------
function getpath($max)
{
$docroot=$_SERVER['DOCUMENT_ROOT']."/";
if($max<10)$max='00'.$max;
else
if($max<100)$max='0'.$max;
$targetPath=$docroot.'uploads/'.$max[0].'/'.$max[1].'/'.$max[2].'/';
return $targetPath;
}
//-------------------------------------------------------------------------------------------------------
?>
<?
mysql_connect("localhost","root","");
mysql_select_db("img");
mysql_query("insert into `img` (`path`) values
('{$_FILES[fileToUpload][name]}')");
$t=mysql_query(
"select `id` from `img` order by `id` desc limit 1");
$res=mysql_fetch_array($t);//последний id
$ext = strtolower(pathinfo($_FILES[fileToUpload][name],
PATHINFO_EXTENSION));//расширение файла
$filename=makeurl(cyrtolat(
pathinfo(
$_FILES[fileToUpload][name],PATHINFO_FILENAME)));//имя в латиницу и убираем спец символы
$file=$filename.".".$ext;
$path=getpath($res['id']);//получаем полный путь с учетом id ->/0/0/1/
move_uploaded_file( $_FILES[fileToUpload]['tmp_name'], $path.$file);
compress($path,$file);
$fullfile=$path.$file;
mysql_query("update `img` set `path`='{$fullfile}' where `id`='{$res['id']}'");
?>
<html>
<head>
<meta name='robots' content='noindex'>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
Выберите файл для загрузки:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Загрузить" name="submit">
</form>
</body>
</html>