2012-11-23 37 views

回答

4

不,你並不需要做的文件進行任何操作。 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 
+0

再次感謝MrCode,這是一個很好的幫助:-) –

1

如果你沿着fopen()fclose()這一行的意思則不行。該文件被解析,變成了一個對象由simplexml的,如果你想成爲真正的迂腐你完成之後,你可以取消設置對象用它。

+0

謝謝戴爾,這有助於很多:-) –

相關問題