HTML表单数据到PHP脚本

时间:2015-05-04 13:34:35

标签: php html file parsing upload

我的小背景是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;}}
?>

它没有做任何事情,我甚至不确定文件是否正在通过,或者我是否只是不知道如何访问它们。任何帮助,将不胜感激。

1 个答案:

答案 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
  }
}