SimpleXML を使用して、xml ファイルから php 配列にデータをインポートしています。
関数を使用していsimplexml_load_file
ますが、必要なデータを取得したら、ファイルを閉じるなどしてメモリをクリアする必要がありますか?
ありがとう、
ジェームズ
いいえ、ファイルに対して何もする必要はありません。simplexml_load_file()
コンテンツを読み取った後、ファイルを内部的に閉じます。
のソース コードを見ると、関数形式 xmllib2 をsimplexml_load_file
呼び出していることがわかります。これにより、読み取り後にファイルが閉じられます。C
xmlReadFile()
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によってオブジェクトに変換されます。本当にペダントになりたい場合は、終了後にオブジェクトの設定を解除できます。