![](/img/trans.png)
[英]PHP and simpleXML - Do i need to check integrity of xml for viruses?
[英]SimpleXML import into PHP. Do I need to close file?
我正在使用SimpleXML從xml文件將數據導入php數組。
我正在使用simplexml_load_file
函數,但是一旦我得到了我需要的數據,我是否需要關閉文件或類似文件以清除內存?
謝謝,
詹姆士
不,你不需要對文件做任何事情。 simplexml_load_file()
將在讀取內容后在內部關閉文件。
如果你看一看的源代碼simplexml_load_file
,你會看到它調用C
功能xmlReadFile()
形式xmllib2,這反過來將閱讀后關閉該文件。
PHP_FUNCTION(simplexml_load_file)
{
php_sxe_object *sxe;
char *filename;
int filename_len;
xmlDocPtr docp;
char *ns = NULL;
int ns_len = 0;
long options = 0;
zend_class_entry *ce= sxe_class_entry;
zend_bool isprefix = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|C!lsb", &filename, &filename_len, &ce, &options, &ns, &ns_len, &isprefix) == FAILURE) {
return;
}
docp = xmlReadFile(filename, NULL, options); <--- reading the file
如果你的意思是沿着fopen()
和fclose()
然后沒有..文件被解析並通過simplexml變成一個對象,如果你想真正迂腐,你可以在你完成后取消設置對象。
無需關閉文件,因為在讀取整個文件時它會自動關閉。 但是,如果您因為服務器內存不足而要求,則應該查看內存消耗最多的服務器日志並將其釋放。
simplexml_load_file
旨在讓生活變得簡單:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.