Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP与文件操作_Php_String_File Io - Fatal编程技术网

PHP与文件操作

PHP与文件操作,php,string,file-io,Php,String,File Io,我想知道是否可以将xml文件作为纯文本文件打开,这样我就可以读取每一行并处理文本 $xml_file = '/var/www/file.xml'; $contents = file_get_contents($xml_file); // Dumps the entire file into a single string $contents = file($xml_file); // Dumps each line into an array 但是,我建议使用(尽管您说希望避免),因为无法保证

我想知道是否可以将xml文件作为纯文本文件打开,这样我就可以读取每一行并处理文本

$xml_file = '/var/www/file.xml';
$contents = file_get_contents($xml_file); // Dumps the entire file into a single string
$contents = file($xml_file); // Dumps each line into an array
但是,我建议使用(尽管您说希望避免),因为无法保证xml的格式。它可以全部放在一行上,也可以在意外的地方用换行符格式化


但是,我建议使用(尽管您说希望避免),因为无法保证xml的格式。它可以在一行上,也可以在意外的地方使用换行符进行格式化。

为什么不直接使用任何XML解析器/操纵器

你可以在

如果您有一个格式良好的XML文件

$file = 'file.xml';

// get contents and normalize the newline
$xml_arr = file($file);
foreach($xml_arr as &$line){
  // do your manipulation to $line
}

$ctns = implode("\n",$xml_arr);
file_put_contents($file,$ctns); // write back

为什么不直接使用任何XML解析器/操纵器呢

你可以在

如果您有一个格式良好的XML文件

$file = 'file.xml';

// get contents and normalize the newline
$xml_arr = file($file);
foreach($xml_arr as &$line){
  // do your manipulation to $line
}

$ctns = implode("\n",$xml_arr);
file_put_contents($file,$ctns); // write back

要将文件读取为字符串数组,请使用函数:

$lines = file('your_xml_file.xml');
foreach($lines as $line) { 
    ## do the stuff for each line
}

要将文件读取为字符串数组,请使用函数:

$lines = file('your_xml_file.xml');
foreach($lines as $line) { 
    ## do the stuff for each line
}

你为什么要这样做?你在自找麻烦。我同意其他人的观点,你应该使用xml解析器或DOMDocument,但如果你想知道答案是“是的”,那么你应该使用xml解析器或DOMDocument。XML只是一个文本文件。您可以使用
文件
文件获取内容
fread
或您曾经用来读取文本文件的任何东西来读取它。为什么要这样做?你在自找麻烦。我同意其他人的观点,你应该使用xml解析器或DOMDocument,但如果你想知道答案是“是的”,那么你应该使用xml解析器或DOMDocument。XML只是一个文本文件。您可以使用
文件
文件获取内容
fread
或您曾经用来读取文本文件的任何东西来读取它。如果您可以通过
文件
函数将文件作为行数组读取,为什么要按
\r\n
拆分文件上下文?@Ivan-我的错。用于文件获取内容。如果可以通过
文件
函数将文件读取为线数组,为什么要按
\r\n
拆分文件上下文?@Ivan-我的错。我想使用simplexml\u load\u file(),但我不知道如何使用它。我最大的问题是从单个节点提取数据。我永远不知道什么时候一个对象是一个对象数组,或者它是一个对象还是对象中的一个值,所以我想我现在继续上面的例子,稍后再扩展。谢谢你的帮助。is_array()、is_object()、is_string()我想使用simplexml\u load\u file(),但我不知道如何使用它。我最大的问题是从单个节点提取数据。我永远不知道什么时候一个对象是一个对象数组,或者它是一个对象还是对象中的一个值,所以我想我现在继续上面的例子,稍后再扩展。谢谢您的帮助。is_数组()、is_对象()、is_字符串()