簡體   English   中英

SimpleXML導入PHP。我需要關閉文件嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM