这一点我还不清楚。我不确定您为什么要使用 HTML 来执行此操作,而不是直接在服务器上修改文件。
我也不确定您在每个文件上修改了哪些详细信息:
- 你在修改什么样的细节?
- 这些详细信息存储在哪里?
- 如果文件是通过表单提交上传的,您将如何修改这些详细信息?
作为一个起点,让我给你一个我最初建议的例子,然后你可以确切地告诉我为什么它不适合你。
fup.php:
<?php
if ($_POST["submit"] === "Press")
{
$file = {$_POST["upfile"]};
$notes = $_POST["note"];
$path = "/path/to/folder";
// EDIT: Checking to make sure extension is mp3
if (strtolower(pathinfo("{$path}/{$file}", PATHINFO_EXTENSION)) !== "mp3")
sys_back("Unavailable mp3 format");
`cp {$path}/{$file} /path/to/new/folder/{$file}`;
// do something with $notes
}
?>
<form action="fup.php" method="POST">
File to upload:
<select name="upfile">
<?php $files = scandir("/path/to/folder");
foreach ($files as $file)
echo "\t\t<option>{$file}</option>\n";
?> </select><br />
Notes about the file: <input type="text" name="note"/><br />
<br />
<input type="submit" name="submit" value="Press" /> to upload the file!
</form>
由于您提到您将逐个浏览 10,000 个文件,因此默认情况下自动选择下一个文件的下拉列表可能会有所帮助,因此您不必每次都查看 10,000 个项目列表时间。您可以通过将foreach
循环更改为更像这样的方式来做到这一点:
$selectNext = false;
foreach ($files as $file)
{
echo "\t\t<option". ($selectNext ? " selected" : "") .">{$file}</option>\n";
$selectNext = ($file === $_POST["upfile"]);
}