Автоматически увеличивать имя файла? - PullRequest
0 голосов
/ 04 ноября 2018

Я хочу создать свой веб-сайт для загрузки файлов, чтобы, когда люди загружали файл на сервер, я хотел, чтобы сервер увеличивал имя файла, например,

  • 1.png
  • 2.png
  • 3.png

Итак, как я могу улучшить имя файла? И это мой код

        <?php
 $limitsize = 1000000;
 $target_pics = "uploads/user/pics/" . basename($_FILES["fileToUpload"]["name"]);
 $target_video = "uploads/user/video/" . basename($_FILES["fileToUpload"]["name"]);
 $target_other = "uploads/user/other/" . basename($_FILES["fileToUpload"]["name"]);
 $FileType = strtolower(pathinfo($target_video, PATHINFO_EXTENSION));
 $uploadOk = 1;


 // Check file exists

 if (file_exists($target_pics) || file_exists($target_video) || file_exists($target_other)) {
   echo "Sorry, file already exists. <br>";
   $uploadOk = 0
 }


 // Check file size

 if ($_FILES["fileToUpload"]["size"] > $limitsize) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
 }


 if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
 } else {
    if ($FileType == "jpg" || $FileType == "png" || $FileType == "jpeg" || $FileType == "gif" ) {
       move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_pics);
       echo "Upload Success.";
    } else {
       if ($FileType == "mp4" || $FileType == "avi") {
       move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_video);
       echo "Upload Success";
       } else {
           move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_other);
           echo "Upload Success";
         }
       }
     }
?>

Ответы [ 3 ]

0 голосов
/ 04 ноября 2018

В соответствии с тем, что я понял, вам нужно хранить загруженные файлы на сервере, где имена файлов в одном каталоге имеют нумерацию. Если это так, вы можете использовать приведенный ниже код, который обновляет опубликованный код:

<?php
  $limitsize = 1000000;
  $target_pics = "uploads/user/pics/" . basename($_FILES["fileToUpload"]["name"]);
  $target_video = "uploads/user/video/" . basename($_FILES["fileToUpload"]["name"]);
  $target_other = "uploads/user/other/" . basename($_FILES["fileToUpload"]["name"]);
  $FileType = strtolower(pathinfo($target_video, PATHINFO_EXTENSION));
  $uploadOk = 1;


  // Check file exists
  if (file_exists($target_pics) || file_exists($target_video) || file_exists($target_other)) {
   echo "Sorry, file already exists. <br>";
   $uploadOk = 0
 }


 // Check file size
 if ($_FILES["fileToUpload"]["size"] > $limitsize) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
 }


 if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
 } else {
    if ($FileType == "jpg" || $FileType == "png" || $FileType == "jpeg" || $FileType == "gif" ) {
       $num = count(scandir($target_pics)); // scandir: gets an array of the files in the directory
       move_uploaded_file($_FILES["fileToUpload"]["tmp_name"] . ($num + 1), $target_pics);
       echo "Upload Success.";
    } else {
       if ($FileType == "mp4" || $FileType == "avi") {
       $num = count(scandir($target_video));
       move_uploaded_file($_FILES["fileToUpload"]["tmp_name"] . ($num + 1), $target_video);
       echo "Upload Success";
       } else {
       $num = count(scandir($target_other));
           move_uploaded_file($_FILES["fileToUpload"]["tmp_name"] . ($num + 1), $target_other);
           echo "Upload Success";
         }
       }
     }
?>
0 голосов
/ 04 ноября 2018

Найдите последний созданный файл в загруженной папке и переименуйте новый файл с этим именем +1. Вот и все ...

0 голосов
/ 04 ноября 2018

Я не знаю, как выполнить эту задачу в php, но я могу дать вам решение, используя Java в отображении hibernate внутри xml-файла отображения таблиц есть вызов тега sa этого класса. С помощью этого класса вы можете сделать один идентификатор, помещенный в тег генератора, когда вы загружаете файл, который он будет хранить с его фактическим именем, но с автоматическим генерированием идентификатора. в порядке возрастания, и вы можете показать как id.extension (например, 2.png) заключить с тегом, это текст ссылки, и когда вы хотите скачать файл, просто нажмите на соответствующий idTextension linkText и удалите .extension из linkText использовать в качестве идентификатора и с помощью идентификатора вы получили данные из базы данных .. Я надеюсь, что это полезно для вас.

...