В настоящее время мой процесс загрузки файлов следующий:
Затем я переименовываю загруженный пользователем файл в уникальное имя со следующим кодом PHP:
$ext = explode('.', basename( $_FILES['file1']['name'])); $file_name1 = md5(uniqid()) . "." . $ext[count($ext)-1];
После этого я просто загружаю этот уникальный файл в мой каталог «upload_doc /».
Теперь в моем скрипте есть опция для загрузки этого загруженного файла. Чтобы загрузить, я просто вызываю это unique
имя файла из каталога «updload_doc /» и загружаю его.
Теперь он показывает мое имя восстановленного файла при загрузке файла.
Есть ли способ загрузить этот файл с его первоначальным именем вместо unique
имени файла?
Примечание. Я могу загрузить исходный файл в каталог, но что произошло, если пользователь загружает тот же файл? Можете ли вы, ребята, сказать, что это за трюк?
Моя система загрузки файлов:
Это кнопка для загрузки:
<a target="_self" href="download.php?filename=<?php echo $rselectfile1['file_name']; ?>"><input type="button" name="download" value="Download" class="submit"/></a>
Это файл download.php
<?php @session_start(); //require_once("config.php"); if(!isset($_SESSION['front_username']) && isset($_SESSION['front_username']) == "" && !isset($_SESSION['front_password']) && isset($_SESSION['front_password']) == "" && !isset($_SESSION['user_id']) && isset($_SESSION['user_id']) == "") { header("Location:login.php"); exit(); } $file_get = $_GET['filename']; $tmp = explode(".",$file_get); switch ($tmp[count($tmp)-1]) { case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "docx": case "doc": $ctype="application/msword"; break; case "csv": case "xls": case "xlsx": $ctype="application/vnd.ms-excel"; break; case "ppt": $ctype="application/vnd.ms-powerpoint"; break; case "gif": $ctype="image/gif"; break; case "png": $ctype="image/png"; break; case "jpeg": case "jpg": $ctype="image/jpg"; break; case "tif": case "tiff": $ctype="image/tiff"; break; case "psd": $ctype="image/psd"; break; case "bmp": $ctype="image/bmp"; break; case "ico": $ctype="image/vnd.microsoft.icon"; break; default: $ctype="application/force-download"; } header("Pragma: public"); // required header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); // required for certain browsers header("Content-Type: $ctype"); header("Content-Disposition: attachment; filename=\"".$file_get."\";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".$fsize); ob_clean(); flush(); readfile("upload_doc/$file_get" ); ?>