我在这里遇到了一个非常奇怪的问题。我使用下面的代码通过php将txt文件上传到我的服务器。PHP上传文件并逐行阅读
<form enctype="multipart/form-data" action="index.php" method="POST">
<input type="file" name="uploadfile">
<button>Submit</button>
</form>
上传文件(正常工作)之后,我通过下面的代码转换的内容到一个数组:
$fp = @fopen($file, 'r');
if ($fp) {
$domains = explode("\n", fread($fp, filesize($file)));
}
然后我跑的preg_match过滤下来阵列:
$list = preg_grep('/^[a-z]+\.com$/', $domains);
我确认$域正在填充txt文件中的数据,但是当我运行print_r($ list)时,它只返回“array()”
当我用FTP上传相同的确切文本文件并运行print_r($ list)时,它工作正常。
我还注意到,当我用我的FTP客户端上传相同的文本文件时,“domains.txt”的文件大小比使用我的html格式上传时要小。任何想法这里发生了什么?
请不要忽略警告解决它们。 –
file()将提供一个逐行数组,比你使用释放和爆炸效率更高 – 2012-09-11 04:04:26
@ user1647347如果你喜欢我的回答,你可以接受它:D –