Php 返回所有文本
我正在用这段代码在php上读取一个文件Php 返回所有文本,php,file,Php,File,我正在用这段代码在php上读取一个文件 $file_array = parse_ini_file("/usr/local/etc/oscam.user"); echo "<pre>"; foreach ($file_array as $value) { echo $value."<br />"; } exit; 这是正确的,但问题是,它只是返回文件的结尾(最后一个元素)。我的文件如下所示 $handle = @fo
$file_array = parse_ini_file("/usr/local/etc/oscam.user");
echo "<pre>";
foreach ($file_array as $value) {
echo $value."<br />";
}
exit;
这是正确的,但问题是,它只是返回文件的结尾(最后一个元素)。我的文件如下所示
$handle = @fopen("oscam.user", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
if(strlen(trim($line)) > 0 && $line[0] != "[") {
$ar = explode("=", $line);
echo(trim($ar[1]));
}
}
}
正如您所看到的,还有更多的帐户需要阅读。由于您无法更改原始文件,您可能必须手动解析它,如下所示:
[account]
user[] = vrum
pwd[] = pass1
group[] = 1
au[] = 1
caid[] = 0B00
ident[] = 0B00:000000
[account]
user[] = sovrum
pwd[] = pass2
group[] = 1
au[] = 0
caid[] = 0B00
ident[] = 0B00:000000
原始答案:
parse_ini_文件将覆盖这些值,因为它们具有相同的名称。您可能希望文本文件如下所示:
$file_array = parse_ini_file("/usr/local/etc/oscam.user");
echo "<pre>";
foreach ($file_array as $val_array) {
foreach($val_array as $value) {
echo $value."<br />";
}
}
exit;
为了得到所有的值:
$content = file_get_contents("/usr/local/etc/oscam.user");
preg_match_all('/\]([^\[]+)/s', $content, $matches);
echo "<pre>";
foreach ($matches[1] as $block) {
$array = parse_ini_string($block);
foreach ($array as $value) {
echo $value."<br />";
}
}
echo "</pre>";
exit;
$file\u array=parse\u ini\u文件(“/usr/local/etc/oscam.user”);
回声“;
foreach($file\u数组作为$val\u数组){
foreach($val_数组作为$value){
回显$value.“
”;
}
}
出口
由于无法更改原始文件,您可能必须手动解析,如下所示:
[account]
user[] = vrum
pwd[] = pass1
group[] = 1
au[] = 1
caid[] = 0B00
ident[] = 0B00:000000
[account]
user[] = sovrum
pwd[] = pass2
group[] = 1
au[] = 0
caid[] = 0B00
ident[] = 0B00:000000
原始答案:
parse_ini_文件将覆盖这些值,因为它们具有相同的名称。您可能希望文本文件如下所示:
$file_array = parse_ini_file("/usr/local/etc/oscam.user");
echo "<pre>";
foreach ($file_array as $val_array) {
foreach($val_array as $value) {
echo $value."<br />";
}
}
exit;
为了得到所有的值:
$content = file_get_contents("/usr/local/etc/oscam.user");
preg_match_all('/\]([^\[]+)/s', $content, $matches);
echo "<pre>";
foreach ($matches[1] as $block) {
$array = parse_ini_string($block);
foreach ($array as $value) {
echo $value."<br />";
}
}
echo "</pre>";
exit;
$file\u array=parse\u ini\u文件(“/usr/local/etc/oscam.user”);
回声“;
foreach($file\u数组作为$val\u数组){
foreach($val_数组作为$value){
回显$value.“
”;
}
}
出口
由于无法更改原始文件,您可能必须手动解析,如下所示:
[account]
user[] = vrum
pwd[] = pass1
group[] = 1
au[] = 1
caid[] = 0B00
ident[] = 0B00:000000
[account]
user[] = sovrum
pwd[] = pass2
group[] = 1
au[] = 0
caid[] = 0B00
ident[] = 0B00:000000
原始答案:
parse_ini_文件将覆盖这些值,因为它们具有相同的名称。您可能希望文本文件如下所示:
$file_array = parse_ini_file("/usr/local/etc/oscam.user");
echo "<pre>";
foreach ($file_array as $val_array) {
foreach($val_array as $value) {
echo $value."<br />";
}
}
exit;
为了得到所有的值:
$content = file_get_contents("/usr/local/etc/oscam.user");
preg_match_all('/\]([^\[]+)/s', $content, $matches);
echo "<pre>";
foreach ($matches[1] as $block) {
$array = parse_ini_string($block);
foreach ($array as $value) {
echo $value."<br />";
}
}
echo "</pre>";
exit;
$file\u array=parse\u ini\u文件(“/usr/local/etc/oscam.user”);
回声“;
foreach($file\u数组作为$val\u数组){
foreach($val_数组作为$value){
回显$value.“
”;
}
}
出口
由于无法更改原始文件,您可能必须手动解析,如下所示:
[account]
user[] = vrum
pwd[] = pass1
group[] = 1
au[] = 1
caid[] = 0B00
ident[] = 0B00:000000
[account]
user[] = sovrum
pwd[] = pass2
group[] = 1
au[] = 0
caid[] = 0B00
ident[] = 0B00:000000
原始答案:
parse_ini_文件将覆盖这些值,因为它们具有相同的名称。您可能希望文本文件如下所示:
$file_array = parse_ini_file("/usr/local/etc/oscam.user");
echo "<pre>";
foreach ($file_array as $val_array) {
foreach($val_array as $value) {
echo $value."<br />";
}
}
exit;
为了得到所有的值:
$content = file_get_contents("/usr/local/etc/oscam.user");
preg_match_all('/\]([^\[]+)/s', $content, $matches);
echo "<pre>";
foreach ($matches[1] as $block) {
$array = parse_ini_string($block);
foreach ($array as $value) {
echo $value."<br />";
}
}
echo "</pre>";
exit;
$file\u array=parse\u ini\u文件(“/usr/local/etc/oscam.user”);
回声“;
foreach($file\u数组作为$val\u数组){
foreach($val_数组作为$value){
回显$value.“
”;
}
}
出口
我假设pass1
和pass2
是实际密码的替换,在这种情况下,其中的一个字符可能会中断解析。尝试用作$scanner\u模式。这将阻止php尝试解析这些值
编辑:使用您的值和等效的parse_ini_string()函数,这似乎可以正常工作:
我假设
pass1
和pass2
是实际密码的替换,在这种情况下,其中的一个字符可能会中断解析。尝试用作$scanner\u模式。这将阻止php尝试解析这些值
编辑:使用您的值和等效的parse_ini_string()函数,这似乎可以正常工作:
我假设
pass1
和pass2
是实际密码的替换,在这种情况下,其中的一个字符可能会中断解析。尝试用作$scanner\u模式。这将阻止php尝试解析这些值
编辑:使用您的值和等效的parse_ini_string()函数,这似乎可以正常工作:
我假设
pass1
和pass2
是实际密码的替换,在这种情况下,其中的一个字符可能会中断解析。尝试用作$scanner\u模式。这将阻止php尝试解析这些值
编辑:使用您的值和等效的parse_ini_string()函数,这似乎可以正常工作:
$content=file\u get\u contents(“/usr/local/etc/oscam.user”);
preg_match_all('/\]([^\[]+)/s',$content,$matches);
回声“;
foreach($matches[1]为$block){
$array=parse_ini_字符串($block);
foreach($array作为$value){
回显$value.“
”;
}
}
回声“;
出口
将文件解析为块,用符号从“]”分隔为“[”,然后解析每个块的ini字符串,然后打印它们的值。$content=file\u get\u contents(“/usr/local/etc/oscam.user”);
preg_match_all('/\]([^\[]+)/s',$content,$matches);
回声“;
foreach($matches[1]为$block){
$array=parse_ini_字符串($block);
foreach($array作为$value){
回显$value.“
”;
}
}
回声“;
出口
将文件解析为块,用符号从“]”分隔为“[”,然后解析每个块的ini字符串,然后打印它们的值。$content=file\u get\u contents(“/usr/local/etc/oscam.user”);
preg_match_all('/\]([^\[]+)/s',$content,$matches);
回声“;
foreach($matches[1]为$block){
$array=parse_ini_字符串($block);
foreach($array作为$value){
回显$value.“
”;
}
}
回声“;
出口
将文件解析为块,用符号从“]”分隔为“[”,然后解析每个块的ini字符串,然后打印它们的值。$content=file\u get\u contents(“/usr/local/etc/oscam.user”);
preg_match_all('/\]([^\[]+)/s',$content,$matches);
回声“;
foreach($matches[1]为$block){
$array=parse_ini_字符串($block);
foreach($array作为$value){
回显$value.“
”;
}
}
回声“;
出口
将文件解析为块,用符号从“]”到“[”分隔,然后解析每个块的ini_字符串,然后打印它们的值。我无法更改原始值file@AlvaroCarvajalNakosmai请检查编辑后的答案。我无法更改原始答案file@AlvaroCarvajalNakosmai请检查编辑后的答案。我无法更改原始答案file@AlvaroCarvajalNakosmai请检查编辑后的答案。我无法更改答案起初的file@AlvaroCarvajalNakosmai请检查编辑后的答案。