Wie kann ich eine hochgeladene Datei umbenennen, bevor ich sie in ein Verzeichnis speichere?

Unten ist der Code, den ich zum Hochladen von Dateien in ein Verzeichnis verwendet habe. Es funktioniert gut. Meine Hauptfrage ist:

move_uploaded_file () ist derjenige, der die hochgeladene Datei in das Verzeichnis speichert, und es ist auch meine Vermutung, dassmove_uploaded_file () ist derjenige, der den Namen dafür festlegt.

Wie kann ich den Namen meiner Datei in eine Zufallszahl ändern?

Ich habe versucht, dies unten zu tun:

      $allowedExts = array("gif", "jpeg", "jpg", "png");
      $temp = explode(".", $_FILES["file"]["name"]);
      $extension = end($temp);
      if ((($_FILES["file"]["type"] == "image/gif")
      || ($_FILES["file"]["type"] == "image/jpeg")
      || ($_FILES["file"]["type"] == "image/jpg")
      || ($_FILES["file"]["type"] == "image/pjpeg")
      || ($_FILES["file"]["type"] == "image/x-png")
      || ($_FILES["file"]["type"] == "image/png"))
      && ($_FILES["file"]["size"] < 100000)
      && in_array($extension, $allowedExts))
        {
        if ($_FILES["file"]["error"] > 0)
          {
          echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
          }
        else 
          {

            $fileName = $temp[0].".".$temp[1];
            $temp[0] = rand(0, 3000); //Set to random number
            $fileName;

          if (file_exists("../img/imageDirectory/" . $_FILES["file"]["name"]))
            {
            echo $_FILES["file"]["name"] . " already exists. ";
            }
          else
            {
            move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]);
            echo "Stored in: " . "../img/imageDirectory/" . $_FILES["file"]["name"];
            }
          }
        }
      else
        {
        echo "Invalid file";
        }

Ich habe versucht, Variablen wie die zu ändern$ _FILES ["Datei"] ["Name"] und durch das ersetzen$ fileName; Variable, damit der neue Name gespeichert werden kann.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage