2 つのファイル (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」という名前のフォルダーを作成して機能させる必要があります。