当前位置: 首页 > 面试题库 >

PHP-解析txt文件

戈宏义
2023-03-14
问题内容

我有一个.txt文件,其中包含以下详细信息:

ID^NAME^DESCRIPTION^IMAGES
123^test^Some text goes here^image_1.jpg,image_2.jpg
133^hello^some other test^image_3456.jpg,image_89.jpg

我想做的是解析此广告,使值以更易读的格式(如果可能)转换为数组。

谢谢


问题答案:

您可以这样轻松地做到这一点

$txt_file    = file_get_contents('path/to/file.txt');
$rows        = explode("\n", $txt_file);
array_shift($rows);

foreach($rows as $row => $data)
{
    //get row data
    $row_data = explode('^', $data);

    $info[$row]['id']           = $row_data[0];
    $info[$row]['name']         = $row_data[1];
    $info[$row]['description']  = $row_data[2];
    $info[$row]['images']       = $row_data[3];

    //display data
    echo 'Row ' . $row . ' ID: ' . $info[$row]['id'] . '<br />';
    echo 'Row ' . $row . ' NAME: ' . $info[$row]['name'] . '<br />';
    echo 'Row ' . $row . ' DESCRIPTION: ' . $info[$row]['description'] . '<br />';
    echo 'Row ' . $row . ' IMAGES:<br />';

    //display images
    $row_images = explode(',', $info[$row]['images']);

    foreach($row_images as $row_image)
    {
        echo ' - ' . $row_image . '<br />';
    }

    echo '<br />';
}

首先,您可以使用函数打开文本文件file_get_contents(),然后使用函数在换行符上剪切字符串explode()。这样,您将获得一个数组,其中所有行都分开。然后使用该函数array_shift()可以删除第一行,因为它是标题。

获取行之后,您可以遍历数组并将所有信息放入名为的新数组中$info。从零行开始,您将能够获取每行的信息。因此,例如$info[0]['description']Some text goes here

如果您也想将图像放入数组中,也可以使用explode()。只需在第一行中使用它:$first_row_images = explode(',', $info[0]['images']);



 类似资料:
  • null 我现在的代码: 此代码返回。我知道这是因为对于表行,我使用的是,默认情况下它在空格上拆分。由于有些列缺少值,因此对于第二个和htird表,表头中的元素数和表行中的元素数不匹配。我正在努力解决这个问题,因为表示缺失值的空格字符的数量对于每个表来说是不同的。 我的问题是:是否有一种方法可以解释某些列中丢失的值,以便在丢失值为null或NaN的情况下获得一个DataFrame作为输出?

  • 问题内容: 我目前有一个CSV文件,在Excel中打开时,总共有5个柱。只有A列和C列对我和中的数据有意义 其余的列不相关。从第8行开始,然后以7的倍数工作(即第8、15、22行, 29,36等等),我正在寻找用Python2.7和来自这些字段的信息。A列中的数据将是键(6位数字 整数),C列中的数据是键的相应值。我已经试图在下面突出显示此内容,但格式不正确最佳: 如上所述,我希望从A7(DDEF

  • 问题内容: 我想用一种特殊的方式解析一个CSS文件。 例: : 我希望PHP返回给我每个名称中包含postclass的类名。 在此示例中,结果看起来像一个数组: 但是我在正则表达式方面更糟。以某种方式搜索“ postclass”,然后抓取孔线并放入数组中。 谢谢,我用它来解析类似confic文件的css文件。 是我的最终代码。这样我就可以在不编辑布局的情况下轻松地将div包裹在一些hardcode

  • 问题内容: 我有一个JavaScript文件,我想在其中包含一些php代码。问题是我在PHP上也有一些定义,我也想在JS上使用。 有没有办法在HTML中包含.js文件,从而允许服务器首先使用php解释它(在下载到客户端之前)? 谢谢 :) 问题答案: 在输出任何内容之前,您还需要输出正确的标头,您应该具有以下内容: 编辑:正如@Tony_A指出的,应该是。我认为在2010年写这篇文章时,它并不重要

  • 我试图从查询字符串中获取一个变量,并将其写入文本文件。我试过这样做: 我得到以下错误: 警告:fopen(etlLOG.txt)[function.fopen]:无法打开流:在E:\Users\george\listener中的权限被拒绝。php第8行 警告:f写():在第9行的E:\用户\乔治\listener.php中,提供的参数不是有效的流资源 警告:fclose():提供的参数不是E:\U

  • 问题内容: 我目前有一个CSV文件,当在Excel中打开该文件时,共有5列。仅A和C列对我而言没有任何意义,其余列中的数据无关紧要。 从第8行开始,然后以7的倍数工作(即第8、15、22、29、36行等),我希望使用Python 2.7创建一个字典,其中包含来自这些字段的信息。A列中的数据将是密钥(6位整数),C列中的数据将是密钥的相应值。我试图在下面强调这一点,但格式不是最好的: 如上所述,我正