我有两个文件(html 和 php)。用户以 html 形式上传文件,php 文件包含将文件上传到服务器的脚本。它工作得很好,我的问题是当用户 1 上传“wordThing.docx”并且用户 2 出现并上传“wordThing.docx”时,用户 1 的文件将被覆盖。
这是我的 HTML 代码:
<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br />
<label for="yourName">Your name:</label>
<input type="textbox" name="yourName" id="yourName" /><br />
<input type="submit" name="submit" value="Submit"><br />
</form>
</body>
</html>
这是我的 PHP 脚本:
<?php
$userName=$_POST['yourName'];
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
{
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
}
else
{
echo "There was an error uploading the file, please try again!";
}
?>
我想附上用户输入“yourName”的文本。因此,服务器包含不同的文件名,并且没有一个必须被覆盖。因此,假设用户具有不同的名称,我想知道如何将文件保存在服务器上并附加名称。例如:用户 1 的文件上传将是 'wordThingSusan.docx'
我希望这不是太多的信息。我只是想清楚和准确。万一有人试图使用此代码,您需要在您的目录下有一个名为“uploads”的文件夹才能正常工作。