Преименуване на файлове след ъплоад

ReD_z0n3

Registered
Използвам ъплоад системата на HunteR и , когато кача файл го преименува от сорта на: nef0dywx17j2sbi934akg5rpv.rar , а мен това хич не ме устройва . Може ли да ми кажете , как да го направя след , като се ъплоадне файл името да си остане такова , какво си е.

Кода:

PHP:
<?php
function new_name($exp)
{
	$simbols = "1234567890qwertyuiopasdfgjklzxcvbnm";
	return substr(str_shuffle($simbols), 0, 25).".".$exp;
}

function sakra6tenie($var)
{
	global $max_simbols;
	if (strlen($var) > $max_simbols)
	{
		return nl2br(substr($var, 0, $max_simbols))."...";
	}
	else
	{
		return nl2br($var);
	}
}

function resize($pic)
{
	global $max_width_pic,$max_height_pic;
	list($width,$height) = getimagesize($pic);
    $ratio = $width / $height;
    
    if ($width > $max_width_pic || $height > $max_height_pic)
    {
        if ($width > $height)
        {
            $width = $max_width_pic;
            $height = $width / $ratio;
        }
        elseif ($width < $height)
        {
            $height = $max_height_pic;
            $width = $height * $ratio;
        }
        elseif ($width == $height)
        {
            $width = $max_width_pic;
            $height = $max_height_pic;
        }
    }
    $width = intval($width);
    $height = intval($height);
    return array("width" => $width, "height" => $height);
}
?>
 
PHP:
<?php
function new_name($exp)
{
        return substr(str_shuffle($simbols), 0, 25).".".$exp;
}

function sakra6tenie($var)
{
        global $max_simbols;
        if (strlen($var) > $max_simbols)
        {
                return nl2br(substr($var, 0, $max_simbols))."...";
        }
        else
        {
                return nl2br($var);
        }
}

function resize($pic)
{
        global $max_width_pic,$max_height_pic;
        list($width,$height) = getimagesize($pic);
    $ratio = $width / $height;
    
    if ($width > $max_width_pic || $height > $max_height_pic)
    {
        if ($width > $height)
        {
            $width = $max_width_pic;
            $height = $width / $ratio;
        }
        elseif ($width < $height)
        {
            $height = $max_height_pic;
            $width = $height * $ratio;
        }
        elseif ($width == $height)
        {
            $width = $max_width_pic;
            $height = $max_height_pic;
        }
    }
    $width = intval($width);
    $height = intval($height);
    return array("width" => $width, "height" => $height);
}
?>

Почти съм сигурен, че ще даде грешка, но пробвай! ;)
 
Добре не ми даде еррор , но като тръгна да свалям файла изписва само " .rar " без име. :)
 
PHP:
<?php
require "config.php";
require "functions.php";

$error = '';
if (isset($_POST['submit']) && !empty($_FILES['pic']['name']) && !empty($_FILES['fail']['name']) && !empty($_POST['subject']))
{
    if (in_array(strtolower(end(explode(".", $_FILES['pic']['name']))), $exp_pic))
    {
        if (in_array(strtolower(end(explode(".", $_FILES['fail']['name']))), $exp_file))
        {
            if ($_FILES['pic']['size'] > 0 && $_FILES['pic']['size'] <= ($max_size_pic * 1024))
            {
                if ($_FILES['fail']['size'] > 0 && $_FILES['fail']['size'] <= ($max_size_file * 1048576))
                {
                        $file_copy = preg_replace("/([\/])+/", "\\1", $file_copy."/");
                        $ex_pic = end(explode(".", $_FILES['pic']['name']));
                        $ex_file = end(explode(".", $_FILES['fail']['name']));
                        $new_name_pic = new_name($ex_pic);
                        $new_name_file = new_name($ex_file);
                        
                        while (file_exists($file_copy.$new_name_pic)) { $new_name_pic = new_name($ex_pic); }
                        while (file_exists($file_copy.$new_name_file)) { $new_name_file = new_name($ex_file); }
                        
                                        if (@copy($_FILES['fail']['tmp_name'], $file_copy.$new_name_file) && @copy($_FILES['pic']['tmp_name'], $file_copy.$new_name_pic))
                                        {
                                                mysql_query("INSERT INTO `files` (`pic`,`file`,`subject`) VALUES ('".$file_copy.$new_name_pic."','".$file_copy.$new_name_file."','".htmlspecialchars($_POST['subject'])."')");
                                                $error = "Файла беше качен успешно!";
                                        }
                                        else
                                        {
                                                $error = "Файла не беше качен!";
                                        }               
                }
                else
                {
                    $error = "Файла не трябва да превишава $max_size_file MB!";
                }
            }
            else
            {
                $error = "Картинката не трябва да превишава $max_size_pic KB!";
            }
        }
        else
        {
            $error = "Позволени са само следните разширения за файла: ".implode(",", $exp_file);
        }
    }
    else
    {
        $error = "Позволени са само следните разширения за картинка: ".implode(",", $exp_pic);
    }
}
?>
<b><u>Всички полета са задължителни!</u></b>
<form action="" enctype="multipart/form-data" method="post">
<table border="0">
<tr><td>Изберете картинка:</td><td><input type="file" name="pic"></td></tr>
<tr><td>Изберете файл:</td><td><input type="file" name="fail"></td></tr>
<tr><td>Описание:</td><td><textarea name="subject" rows="5" cols="30"></textarea></td></tr>
</table>
<input type="submit" name="submit" value="Изпрати">
</form>
<b><?=$error?></b>

Ето го.
 
PHP:
<?php
require "config.php";
require "functions.php";

$error = '';
if (isset($_POST['submit']) && !empty($_FILES['pic']['name']) && !empty($_FILES['fail']['name']) && !empty($_POST['subject']))
{
    if (in_array(strtolower(end(explode(".", $_FILES['pic']['name']))), $exp_pic))
    {
        if (in_array(strtolower(end(explode(".", $_FILES['fail']['name']))), $exp_file))
        {
            if ($_FILES['pic']['size'] > 0 && $_FILES['pic']['size'] <= ($max_size_pic * 1024))
            {
                if ($_FILES['fail']['size'] > 0 && $_FILES['fail']['size'] <= ($max_size_file * 1048576))
                {
                        $file_copy = preg_replace("/([\/])+/", "\\1", $file_copy."/");
                        $ex_pic = end(explode(".", $_FILES['pic']['name']));
                        $ex_file = end(explode(".", $_FILES['fail']['name']));
                        $new_name_pic = $_FILES['pic']['name'];
                        $new_name_file = $_FILES['fail']['name'];
                        
                        while (file_exists($file_copy.$new_name_pic)) { $new_name_pic = new_name($ex_pic); }
                        while (file_exists($file_copy.$new_name_file)) { $new_name_file = new_name($ex_file); }
                        
                                        if (@copy($_FILES['fail']['tmp_name'], $file_copy.$new_name_file) && @copy($_FILES['pic']['tmp_name'], $file_copy.$new_name_pic))
                                        {
                                                mysql_query("INSERT INTO `files` (`pic`,`file`,`subject`) VALUES ('".$file_copy.$new_name_pic."','".$file_copy.$new_name_file."','".htmlspecialchars($_POST['subject'])."')");
                                                $error = "Файла беше качен успешно!";
                                        }
                                        else
                                        {
                                                $error = "Файла не беше качен!";
                                        }               
                }
                else
                {
                    $error = "Файла не трябва да превишава $max_size_file MB!";
                }
            }
            else
            {
                $error = "Картинката не трябва да превишава $max_size_pic KB!";
            }
        }
        else
        {
            $error = "Позволени са само следните разширения за файла: ".implode(",", $exp_file);
        }
    }
    else
    {
        $error = "Позволени са само следните разширения за картинка: ".implode(",", $exp_pic);
    }
}
?>
<b><u>Всички полета са задължителни!</u></b>
<form action="" enctype="multipart/form-data" method="post">
<table border="0">
<tr><td>Изберете картинка:</td><td><input type="file" name="pic"></td></tr>
<tr><td>Изберете файл:</td><td><input type="file" name="fail"></td></tr>
<tr><td>Описание:</td><td><textarea name="subject" rows="5" cols="30"></textarea></td></tr>
</table>
<input type="submit" name="submit" value="Изпрати">
</form>
<b><?=$error?></b>

Така ?
 

Back
Горе