无法获取文本文件中的内容

时间:2014-04-26 09:21:31

标签: php file-upload

这里我想上传文件,我要做的第一件事是打开并阅读文本文件以获取内容。其目的是进行验证并过滤内容,无论是真还是假。

<table>
<form id='frmUpload' name='frmUpload' enctype='multipart/form-data' action='uploadFile.php' method='POST'>
     <tr>
        <td><input type='file' name='upload'/></td>
     </tr>
     <tr>
        <td><input type'button' id='uploadFile' name='uploadFile'/></td>
     </tr>
</table>
</form>

$upload=$_POST['upload']; (let say the filename is finance.txt, it could be different name depending on user)
$files = fopen($upload, 'rb');
$lines = 0;
while (!feof($files)) {
 $lines += substr_count(fread($files, 8192), "\n");
}

fclose($files);

$contents=file_get_contents($upload);
$get=explode("\n", $contents);

我得到的是什么,就像假装里面没有内容一样。 然后我尝试在文件名旁边添加源文件的位置,

$upload= 'c:/document/finance.txt';

是的,它正在发挥作用。

这意味着如果我想在文本文件中获取内容,我必须将要检索的源文件的位置与文件名一起放置。每个用户都有一台计算机和不同的目录来上传一些文件,当然我不知道文件所在的位置。

我犯了什么错误?

2 个答案:

答案 0 :(得分:0)

请参阅此帖子:http://de2.php.net/manual/en/features.file-upload.php

在按HTTP进行上传时,您需要使用特殊上下文和$_FILES。您的PHP是否设计为与要“上传”的文件在同一台计算机上运行?然后,您可能会使用不同的方法,但请注意可能的恶意使用。根据您的描述,您可能会在服务器上运行PHP以供不同用户公开使用。然后链接信息适用,您可能需要使用特殊输入元素,一些隐藏元素,并需要从$_FILES读取上传文件的内容。这是最常见的做法。

答案 1 :(得分:-1)

也许您可以先临时上传文件(使用move_uploaded_file),然后读取文件,如果验证和过滤是&#34; false&#34;你可以删除它。