这里我想上传文件,我要做的第一件事是打开并阅读文本文件以获取内容。其目的是进行验证并过滤内容,无论是真还是假。
<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';
是的,它正在发挥作用。
这意味着如果我想在文本文件中获取内容,我必须将要检索的源文件的位置与文件名一起放置。每个用户都有一台计算机和不同的目录来上传一些文件,当然我不知道文件所在的位置。
我犯了什么错误?
答案 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;你可以删除它。