Doom123
19.07.2008, 22:19
И так написал функцию для заливки аваиаров =) хотел спросить как вам =) типо безопасна ли она ?
а то с аплоадом файлов 1ый раз имею дело :rolleyes:
function avup($folder,$fname,$nname,$x,$y)
{
$data = $_FILES[$fname];
$tmp = $data['tmp_name'];
$file = $data['name'];
if (preg_match('#[^\?\"/:\*<>\|]+?\.\w+?#', $file))
{
if (@file_exists($tmp))
{
if (($a = strrpos($file, '.')) !== false)
{
$f = strtolower(substr($file, $a));
$name = $folder.'/'.$nname;
switch($f)
{
case '.gif':
$img = @imagecreatefromgif($_FILES[$fname]['tmp_name']);
$name .= $f;
break;
case '.png':
$img = @imagecreatefrompng($_FILES[$fname]['tmp_name']);
$name .= $f;
break;
case '.jpg': case '.jpeg':
$img = @imagecreatefromjpeg($_FILES[$fname]['tmp_name']);
$name .= $f;
break;
}
}
if($img)
{
if(imagesx($img) <= $x && imagesy($img) <= $y)
if(@move_uploaded_file($tmp, $name))
return $nname.$f;
}
}
}
return false;
}
а то с аплоадом файлов 1ый раз имею дело :rolleyes:
function avup($folder,$fname,$nname,$x,$y)
{
$data = $_FILES[$fname];
$tmp = $data['tmp_name'];
$file = $data['name'];
if (preg_match('#[^\?\"/:\*<>\|]+?\.\w+?#', $file))
{
if (@file_exists($tmp))
{
if (($a = strrpos($file, '.')) !== false)
{
$f = strtolower(substr($file, $a));
$name = $folder.'/'.$nname;
switch($f)
{
case '.gif':
$img = @imagecreatefromgif($_FILES[$fname]['tmp_name']);
$name .= $f;
break;
case '.png':
$img = @imagecreatefrompng($_FILES[$fname]['tmp_name']);
$name .= $f;
break;
case '.jpg': case '.jpeg':
$img = @imagecreatefromjpeg($_FILES[$fname]['tmp_name']);
$name .= $f;
break;
}
}
if($img)
{
if(imagesx($img) <= $x && imagesy($img) <= $y)
if(@move_uploaded_file($tmp, $name))
return $nname.$f;
}
}
}
return false;
}