Оригиналното име на файла

topchokt

Registered
Здравейте ,
ето това е една малка системка за upload на файлове . Тя беше за снимки но аз реших да я ползвам за файлове .
Код:
<?php
$site_link = "http://";
$sait = "http://";
$upload_dir = "files/"; //Може да се смени с друга папка , която вие си пожелаете
$snimkata = $site_link."/".$upload_dir."".$new_file_name;
$size_bytes = 3072000; //Големината на файла в bytes (сега 3МБ)3072000
$extlimit = "yes"; //Да има лимит или не за качване(yes/no)
$limitedext = array(".gif",".jpg",".png",".jpeg",".bmp",".mp3",".mp4",".wav",".flv",".rar",".zip"); 
if (!is_dir("$upload_dir")) {
die ("Грешка: Папката <b>($upload_dir)</b> не съществува");
}

if(isset($_POST['uploadform'])){


$file_tmp = $_FILES['filetoupload']['tmp_name'];
$file_name = $_FILES['filetoupload']['name'];
$file_size = $_FILES['filetoupload']['size'];

if (!is_uploaded_file($file_tmp)){
echo "Грешка : Моля изберете файл за качване!. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit(); 
}

if ($file_size > $size_bytes){
echo "Грешка : Файла е твърде голям. Той трябва да бъде под <b>". $size_bytes / 1024 ."</b> KB. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}

$ext = strrchr($file_name,'.');
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) {
echo("Грешка : Този тип файл не е позволен за качване.<br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a> ");
exit();
}
$op=op;
$random_digit=rand(00000,99999);
$new_file_name=$random_digit.op-op.$ext;

/// Далй има такъв файл
if(file_exists($upload_dir.$file_name)){
echo "Името на файла <b>$file_name</b> вече е заето. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}
$sait = "http://";
$new_file_name=$random_digit.$op.$ext;
$snimkata = $site_link."/".$upload_dir."".$new_file_name;
$new_file_name = str_replace(' ', '_', $new_file_name);
if (move_uploaded_file($file_tmp,$upload_dir.$new_file_name)) {
echo "

<img  src=\"".$site_link."/".$upload_dir."".$new_file_name."\" border=\"0\"><br><br>

<b>Директен линк към оригинала</b><br>
<input type=\"text\" value='".$snimkata."' size=\"100\"><br>


»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a></center>";
exit();
}
}else{
for($i=0;$i<count($limitedext);$i++){
if (($i<>count($limitedext)-1))$commas=", ";else $commas="";
list($key,$value)=each($limitedext);
$all_ext .= $value.$commas;
}

echo "
<form name=\"Upload\" method=\"post\" action=\"\" enctype=\"multipart/form-data\" >
<input type=\"file\" name=\"filetoupload\"  class=\"up\" size=\"45\">
<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\"><br>
<input type=\"Submit\"  value=\"Качване\" name=\"uploadform\"> 
</form>";
}

?>

Това е кода който уплодва ... Системата работи качва файла но му променя името на произволни числа. Аз искам да премахна това и да остане оригиналното име . Тоест ако тругна да качвам файла mp3.mp3 , като го качи линка да е пак http://site.bg/files/mp3.mp3 .
Благодаря предварително .
 
MaLa_NocHe каза:
Виж , файла cmykolors.zip след като го кача го преименува на cmykolors.zipop.zip . Ако не може да се оправи тази дайте друга , която след като се качи файла да дава линк към него .
 
topchokt каза:
MaLa_NocHe каза:
Код:
<?php 


?>

Ей така вече трябва да стане.

МММ не... template-248.zip.zip вместо template-248.zip .

Код:
<?php 
$site_link = "http://"; 
$sait = "http://"; 
$upload_dir = "files/"; //Може да се смени с друга папка , която вие си пожелаете 
$snimkata = $site_link."/".$upload_dir."".$new_file_name; 
$size_bytes = 3072000; //Големината на файла в bytes (сега 3МБ)3072000 
$extlimit = "yes"; //Да има лимит или не за качване(yes/no) 
$limitedext = array(".gif",".jpg",".png",".jpeg",".bmp",".mp3",".mp4",".wav",".flv",".rar",".zip"); 
if (!is_dir("$upload_dir")) { 
die ("Грешка: Папката <b>($upload_dir)</b> не съществува"); 
} 

if(isset($_POST['uploadform'])){ 


$file_tmp = $_FILES['filetoupload']['tmp_name']; 
$file_name = $_FILES['filetoupload']['name']; 
$file_size = $_FILES['filetoupload']['size']; 

if (!is_uploaded_file($file_tmp)){ 
echo "Грешка : Моля изберете файл за качване!. <br>»<a href="$_SERVER[PHP_SELF]">НАЗАД</a>"; 
exit(); 
} 

if ($file_size > $size_bytes){ 
echo "Грешка : Файла е твърде голям. Той трябва да бъде под <b>". $size_bytes / 1024 ."</b> KB. <br>»<a href="$_SERVER[PHP_SELF]">НАЗАД</a>"; 
exit(); 
} 

$ext = strrchr($file_name,'.'); 
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) { 
echo("Грешка : Този тип файл не е позволен за качване.<br>»<a href="$_SERVER[PHP_SELF]">НАЗАД</a> "); 
exit(); 
}  

/// Далй има такъв файл 
if(file_exists($upload_dir.$file_name)){ 
echo "Името на файла <b>$file_name</b> вече е заето. <br>»<a href="$_SERVER[PHP_SELF]">НАЗАД</a>"; 
exit(); 
} 
$sait = "http://"; 
$new_file_name=$file_name; 
$snimkata = $site_link."/".$upload_dir."".$new_file_name; 
$new_file_name = str_replace(' ', '_', $new_file_name); 
if (move_uploaded_file($file_tmp,$upload_dir.$new_file_name)) { 
echo " 

<img  src="".$site_link."/".$upload_dir."".$new_file_name."" border="0"><br><br> 

<b>Директен линк към оригинала</b><br> 
<input type="text" value='".$snimkata."' size="100"><br> 


»<a href="$_SERVER[PHP_SELF]">НАЗАД</a></center>"; 
exit(); 
} 
}else{ 
for($i=0;$i<count($limitedext);$i++){ 
if (($i<>count($limitedext)-1))$commas=", ";else $commas=""; 
list($key,$value)=each($limitedext); 
$all_ext .= $value.$commas; 
} 

echo " 
<form name="Upload" method="post" action="" enctype="multipart/form-data" > 
<input type="file" name="filetoupload"  class="up" size="45"> 
<input type="hidden" name="MAX_FILE_SIZE" value="$size_bytes"><br> 
<input type="Submit"  value="Качване" name="uploadform"> 
</form>"; 
} 

?>
 

Back
Горе