2012-07-30 75 views
2

我的应用程序XMLReader从远程位置读取XML文件。最大文件大小(以字节为单位)让我开始阅读?远程读取的最大文件大小

感谢

if ($file_size > XXX) 
{ 
    exit('Wohooo that is a massive file to handle for me. Chop it up please'); 
} 
+0

这取决于您的基础设施。你能否提供关于你的环境的更多细节? – 2012-07-30 13:01:22

+0

Linux共享主机,这一切都知道。我知道这取决于很多事情,但是有没有一般/普通/安全的尺寸? – BentCoder 2012-07-30 13:14:09

回答

1

为什么你关心max_file大小?使用类似fgets的东西,你可以一次读一行,或者像fread这样的东西,你可以设置一次获得多少。

使用其中任何一种方法,您都可以轻松控制脚本将使用多少资源,如果将内存控制在内。

如果您担心用脚本咀嚼太多系统资源,this是关于如何更好地利用您的服务器上的内存与CPU周期的精彩阅读。我通常选择unset()顺便说一句,似乎发现它会得到更好的结果。

+0

我不记得提供引用的链接,但cURL优于fgets()和fread(),用于检查远程文件是否存在,还检查它们的文件大小。 – BentCoder 2012-07-30 13:12:46

+0

@MaxMax虽然我可以[看](http://www.php.net/manual/en/function.curl-multi-getcontent.php),但它没有选项只能得到一个选定的金额的数据。他们会将整个事件归还为一个字符串。如果文件大小很大,这可能不太好。有了我提出的两条建议,代码可以一次处理10Kb,或者挑选几百行。即使文件非常大,也可以轻松管理服务器资源。 – Fluffeh 2012-07-30 13:20:47

+1

虽然我没有使用'curl_multi_getcontent()'。我使用[这个例子](http://stackoverflow.com/questions/2602612/php-remote-file-size-without-downloading-file) – BentCoder 2012-07-30 20:15:44