import — импорт данных текстового файла в Stack Overflow

Я новичок в PHP кодирования. Итак, вот моя проблема, мне нужно получить данные в текстовом файле.
У меня есть текстовый файл, например, где данные похожи на это:

Return(result="success" dev_id="6714114030000088" total="14"
time="2015-02-11 11:35:20" id="505" name="DIM" workcode="0" status="0" authority="0X11" card_src="from_check"
time="2015-02-11 11:42:47" id="505" name="DIM" workcode="0" status="0" authority="0X11" card_src="from_check"

Поэтому я должен получить данные внутри кавычек в соответствии с их категорией, такой как имя, время, статус и т. Д.

0

Решение

Возможно, вам придется немного подправить поле даты. Простой парсер:

$aFile = file( 'infile.txt' );

$iCountLines = count( $aFile );

$aData = array();

for( $i = 0; $i < $iCountLines; ++$i )
{
// Skip empty lines.
if( empty( trim( $aFile[ $i ] ) ) )
{
continue;
}

// Skip header line. Can extend to skip unnecessary lines.
if( strpos( $aFile[ $i ], 'Return(result' ) !== FALSE )
{
continue;
}
// Separate based on space. Time values will be distorted.
$aRaw = explode( ' ', $aFile[ $i ] );
$iCountRaw = count( $aRaw );

// Reset temp data.
$aTmp = array();
for( $j = 0; $j < $iCountRaw; ++$j )
{
$aTmpRaw = explode( '=', $aRaw[ $j ] );

// Time exclusion
if( !empty( $aTmpRaw[ 1 ] ) )
{
$aTmp[ $aTmpRaw[ 0 ] ] = $aTmpRaw[ 1 ];
}
}
$aData[] = $aTmp;
}
var_dump( $aData );

Время взлома:

<?php
$aFile = file( 'infile.txt' );

$iCountLines = count( $aFile );

$aData = array();

for( $i = 0; $i < $iCountLines; ++$i )
{
// Skip empty lines.
if( empty( trim( $aFile[ $i ] ) ) )
{
continue;
}

// Skip header line. Can extend to skip unnecessary lines.
if( strpos( $aFile[ $i ], 'Return(result' ) !== FALSE )
{
continue;
}
// Separate based on space. Time values will be distorted.
$aRaw = explode( ' ', $aFile[ $i ] );

// Re-connect time values.
$sTmp = $aRaw[ 0 ];
$sTmp2 = $aRaw[ 1 ];
unset( $aRaw[ 0 ] );
unset( $aRaw[ 1 ] );
$aRaw[ 0 ] = $sTmp . $sTmp2;
$aRaw = array_values( $aRaw );
$iCountRaw = count( $aRaw );

// Reset temp data.
$aTmp = array();
for( $j = 0; $j < $iCountRaw; ++$j )
{
$aTmpRaw = explode( '=', $aRaw[ $j ] );

// Time exclusion
if( !empty( $aTmpRaw[ 1 ] ) )
{
$aTmp[ $aTmpRaw[ 0 ] ] = $aTmpRaw[ 1 ];
}
}
$aData[] = $aTmp;
}
var_dump( $aData );
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]