1

しばらく前にコーディングしたものが見つかるまで、w3schools の画像アップロード コードを使用したいと考えています。ともかく:

<?php
 $allowedExts = array("gif", "jpeg", "jpg", "png");
 $extension = end(explode(".", $_FILES["file"]["name"]));
 if ((($_FILES["file"]["type"] == "image/gif")
 || ($_FILES["file"]["type"] == "image/jpeg")
 || ($_FILES["file"]["type"] == "image/jpg")
 || ($_FILES["file"]["type"] == "image/png"))
 && ($_FILES["file"]["size"] < 20000)
 && in_array($extension, $allowedExts))
 {
 if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
 echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

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

基本的に私がやりたいことは、ユーザーがファイルをアップロードすると、ファイル名が元の名前ではなく $username に変更されるため、現在の username-38474.png ではなく username.png になります。

何か助けはありますか?

4

2 に答える 2

8
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);

このコード行は、基本的に画像の名前を新しい場所に変更します: to "upload/".$_FILES["file"]["name"]、この行を次のように置き換えます:

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$username.".".$extension);
于 2013-04-17T20:19:01.553 に答える