我需要从文本文件中提取一些文本。假设http://site.com/a.txt
该文件的内容如下:
var $name= 'name1';
var $age= 'age2';
var $phone= 'phonenumber';
var $a= 'asd';
var $district= 'district23';
如何在单独的echo中获取此文本文件(name1,age2,phonenumber,asd,district)的值。
答案 0 :(得分:2)
使用file
功能将文件读入数组。然后循环遍历数组,文件中的每一行都将是数组中的另一个元素。因此,请确保您的文件在数据之间存在线性错误。
当然最好的方法是在.php文件中准备好PHP代码,然后将其包含在include
函数中。
答案 1 :(得分:1)
我建议使用类来封装您的数据......
所以想象一下名为“person.php”的文件看起来像这样......
class Person
{
public $Name;
public $Age;
public $Phone;
public $A;
public $District;
}
然后,您可以将person类用作容器。
include_once('person.php');
$person = new Person();
$person->Name = 'John Doe';
$person->Age = 52;
$person->Phone= '+441234 567 890';
$person->A = 'asd';
$person->District = 'District23';
请注意“年龄”是不稳定的(即如果对象存活时间过长,年龄会出错!)您可以通过存储出生日期然后在Person对象上使用getAge()函数来避免这种情况。你在任何时间点都是正确的年龄。
Person类是一个普通的PHP对象,但您可以添加添加与Person概念相关的行为的函数,因此getAge()函数将存在于Person类中。
最后,您可以使用PHP的serialize和unserialize函数将对象存储在任何位置。存储的表示对象的字符串如下所示:
O:6:"Person":5:{
s:4:"Name";s:8:"John Doe";
s:3:"Age";i:52;
s:5:"Phone";s:15:"+441234 567 890";
s:1:"A";s:3:"asd";
s:8:"District";s:10:"District23";
}
以下是您将$person
序列化为如下所示的方式:
$serializedPerson = serialize($person);
echo $serializedPerson;
从字符串转换回Person也很容易:
$serializedPerson = 'O:6:"Person":5:{s:4:"Name";s:8:"John Doe";s:3:"Age";i:52;s:5:"Phone";s:15:"+441234 567 890";s:1:"A";s:3:"asd";s:8:"District";s:10:"District23";}';
$newPerson = unserialize($serializedPerson);
echo $newPerson->Name;
<强>摘要强>
因此,如果您以此序列化格式存储数据,则可以直接将其转换为可以在不手动解析字符串的情况下使用的PHP对象。如果需要,您可以将字符串存储在文本文件中 - 或者数据存储。
答案 2 :(得分:0)
而不是给你解决方案代码,我将把它分解为适合你的步骤。
0)以机器可读格式写入文件,例如姓名,年龄,电话号码
1)逐行从文件中读取
2)根据你使用的分隔符打破每一行,例如“”
3)将值读入变量
4)回声
如果您遇到更具体的问题,请告诉我们。