我想允许用户使用简单的HTML表单上传多个文本文件,然后将它们保存到字符串中。之后,我想向用户显示它们。例如,假设我有三个文本文件,其中包含以下内容:
file1.txt:这是一些文本。
File2.txt:这是更多的文字。
File3.txt:更多文字!
当用户使用 HTML 表单上传它们时,我想将它们保存到一个字符串中并像这样显示它们:
这是一些文本。
这是更多的文字。
甚至更多的文字!
我有以下(不完整)代码,尝试只获取一个文件:
Upload text documents: <br /><br>
<form action="output.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>
<?php
$doc = $_POST['file'];
echo $doc;
?>
如何循环浏览文件并将它们保存到字符串中,然后以最佳方式显示它们?
$filenames = array();
if(isset($_FILES["documents"]))
{
for($i=0; $_FILES['documents']['name'][$i] != '' ; $i++)
{
$filenames[$i] = $_FILES['documents']['name'][$i];
$myfile = fopen("$_FILES['documents']['name'][$i]", "r") or die("Unable to open file!");
echo fread($myfile,filesize("$_FILES['documents']['name'][$i]"));
fclose($myfile);
}
}
我认为这对你有帮助!!!!!!1
完成白色马库斯的回答
在输入文件元素中使用 multiple="multiple" 属性。
你应该有 : $_FILES 变量,而不是 $_POST
<?php
var_dump($_FILES);
?>
要打印文件,请使用 file_put_contents()
此致敬意
$filenames = array();
if(isset($_FILES["documents"]))
{
for($i=0; $_FILES['documents']['name'][$i] != '' ; $i++)
{
$filenames[$i] = $_FILES['documents']['name'][$i];
}
print_r($filename);
}
在
输入文件元素中使用 multiple="multiple"
属性。