Здравейте ,
ето това е една малка системка за upload на файлове . Тя беше за снимки но аз реших да я ползвам за файлове .
Това е кода който уплодва ... Системата работи качва файла но му променя името на произволни числа. Аз искам да премахна това и да остане оригиналното име . Тоест ако тругна да качвам файла mp3.mp3 , като го качи линка да е пак http://site.bg/files/mp3.mp3 .
Благодаря предварително .
ето това е една малка системка за 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 .
Благодаря предварително .