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

Php 无法获取文本文件中的内容,php,file-upload,Php,File Upload,在这里我想上传文件,我要做的第一件事是打开并阅读文本文件以获取内容。其目的是对内容进行验证和过滤,无论内容是真是假 <table> <form id='frmUpload' name='frmUpload' enctype='multipart/form-data' action='uploadFile.php' method='POST'> <tr> <td><input type='file' name='upl

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

<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);
是的,它正在工作

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

我犯了什么错误?

请参阅以下帖子:


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

也许你可以先临时上传文件(使用move\u uploaded\u file),然后读取文件,如果验证和筛选为“false”,你可以删除它。

我使用了$\u文件,但也不起作用。该文件来自客户端计算机,PHP在服务器上运行。请务必为表单提供正确的编码和方法。还提供隐藏文件大小限制。此外,检查php.ini是否允许上传。更多信息,请参见上面Gumbo评论中的链接!阅读,它解释了一切。move_uploaded_file()实际上并不是在上载文件,而是在确保源文件(在服务器上!)是之前使用HTTP POST方法上载文件(在服务器上!)后,将文件从其临时位置移到更持久的位置。请参阅此处的文档:“您可以先临时上载文件(使用move_uploaded_file)”。。。你的评论就是这么说的。。。上载带有移动的文件\u上载的文件。。。
$upload= 'c:/document/finance.txt';