我的小背景是Python。我之前从未使用过PHP,所以我有些迷茫。我要做的是通过HTML表单上传文件,然后用PHP脚本解析文件并将结果显示给用户。
这是我的HTML:
<html>
<form enctype='multipart/form-data' action='read.php'
method='POST'>
<input type='hidden'/>
Choose a file to upload: <input name='uploadedfile' type='file' multiple /><br />
<input type='submit' value='Upload File' />
</form>
</html>
它似乎有用,但我可能会遗漏一些明显的东西。
我的PHP脚本是
<?php
if ($_FILES['uploadedfile']['name'] !==false)
file_get_contents($_FILES);
foreach (glob($_FILES["uploadedfile"]["name"]) as $file) {
if (is_uploaded_file($file['temp_name']))
$file_handle = fopen(file, "r");
while (feof($file_handle)) {
$e = array("code", "money", "notes", "date2");
$n = 0;
$line = fgets($file_handle);}
foreach($line as $value) {
if ($n=0);
if (strpos($line, 'Sent:') !==false);{
array_push($e, $line);}
if (strpos($line, 'REFERENCE NUMBER:') !==false) ;{
$n = 1;
array_push($e, $line);}
if ($n<40);{
array_push($e, $line);
$n = $n+1;}
echo $e;}}
?>
它没有做任何事情,我甚至不确定文件是否正在通过,或者我是否只是不知道如何访问它们。任何帮助,将不胜感激。
答案 0 :(得分:0)
如果您想上传多个文件,则需要将输入名称设置为数组:
<input name='uploadedfile[]' type='file' multiple />
然后您可以循环阅读所有上传的文件:
<?php
foreach ($_FILES['uploadedfile']['error'] as $i => $error) {
if ($error === UPLOAD_ERR_OK) {
$file_handle = fopen($_FILES['uploadedfile']['tmp_name'][$i], 'r');
// your code here
} else {
// check error number: http://php.net/manual/en/features.file-upload.errors.php
}
}