PHP explode()将所有内容放入第一个数组元素中

时间:2015-02-23 02:39:43

标签: php arrays file fopen explode

PHP explode()函数将所有内容放入第一个数组变量中。我按照以下示例进行了操作:explode

该文件包含以下字符串:

My CV_98KB_PDF(Adobe Reader)_YES - Use this form: Contact Form_/docs/CV.pdf

我希望它将从文件中读取的字符串拆分为单独的数组元素,但它只将它们拆分为第一个。

$doclist = "./docs/documentlist.txt";
$filestr = readfile($doclist);
$docProp = explode("_", $filestr);

echo $docProp[0];
echo $docProp[1];

$docProp[0]包含完整字符串,而不是My CV。为什么这样做?

亲切的问候。

3 个答案:

答案 0 :(得分:2)

readfile()将文件输出到浏览器并返回字节数,因此您在页面上看到的内容是readfile()的结果,而不是echo $docProp[0];。您需要做的是使用file_get_contents()

$doclist = "./docs/documentlist.txt";
$filestr = file_get_contents($doclist);
$docProp = explode("_", $filestr);

echo $docProp[0];
echo $docProp[1];

答案 1 :(得分:0)

管理解决这个问题:

$doclist = "./docs/documentlist.txt";
$docfile = fopen($doclist, "r") or die("file error!");

while (!feof($docfile)) {

    $docProp = explode('_', fgets($docfile));

};
fclose($docfile);

我没有使用readfile(),而是使用fopenfeoffgets来阅读文件并将其展开。

亲切的问候。

答案 2 :(得分:0)

你的字符串由'/'组成,所以我们应该爆炸

$doclist = "./docs/documentlist.txt";
$filestr = readfile($doclist);
$docProp = explode("/", $filestr);

echo $docProp[0];
echo $docProp[1];