如何用PHP解析Java proberty文件?

时间:2015-07-22 15:25:41

标签: java php

o我有一个Java proberties文件,看起来或多或少像这样:

FD6AEA14B3581255C5D40451CDFF8168.hash=90AD759FF0B41ABD7260EF1044E75330
FD6AEA14B3581255C5D40451CDFF8168.path=Volumes/UA08154711/08154711/Lorem ipsum dolor sit amet, consetetur sadipscing/Lorem ipsum dolor sit amet, consetetur sadipscing/07 - Lorem ipsum dolor sit amet, consetetur sadipscing - Lorem ipsum dolor sit amet, consetetur sadipscing (Album Version).mp3
EA3F9134319E314BC85D59D16122800.fileName=04 - Lorem ipsum dolor sit amet, consetetur sadipscing (Album Version).mp3
EA3F9134319E314BC85D59D16122800.hash=88302129514633AAED4553F1B0CCB6B8
EA3F9134319E314BC85D59D16122800.path=Volumes/UA08154711/08154711/Lorem ipsum dolor sit amet, consetetur sadipscing/Lorem ipsum dolor sit amet, consetetur sadipscing/04 - Lorem ipsum dolor sit amet, consetetur sadipscing (Album Version).mp3
EAFB12EE4094D48A2B1BD367E5737C80.fileName=._02 - Lorem ipsum dolor sit amet, consetetur sadipscing (Explicit Version).mp3
EAFB12EE4094D48A2B1BD367E5737C80.hash=34FB1D1E3523334A89D03DE707C00968
EAFB12EE4094D48A2B1BD367E5737C80.path=Volumes/UA08154711/08154711/Lorem ipsum dolor sit amet, consetetur sadipscing/Lorem ipsum dolor sit amet, consetetur sadipscing/._02 - Lorem ipsum dolor sit amet, consetetur sadipscing (Explicit Version).mp3
fileSize=1024595340
Number=03173729

文件目的地是 files / 03173729.meta

我想用php解析文件,所以我可以将数据保存在mySQL数据库中。代码:

$filepath = "files/03173729.meta"; 
        $fileContents = file_get_contents("$filepath");
        echo $fileContents;

        $result = parse_properties($fileContents);

        //Fetch the contents from the result array and add them to the database

        function parse_properties($txtProperties) {
        $result = array();
        $lines = split("\n", $txtProperties);
        $key = "";
        $isWaitingOtherLine = false;
        foreach ($lines as $i => $line) {
            if (empty($line) || (!$isWaitingOtherLine && strpos($line, "#") === 0))
                continue;

            if (!$isWaitingOtherLine) {
                $key = substr($line, 0, strpos($line, '='));
                $value = substr($line, strpos($line, '=')+1, strlen($line));        
            }
            else {
                $value .= $line;    
            }    
            /* Check if ends with single '\' */
            if (strrpos($value, "\\") === strlen($value)-strlen("\\")) {
                $value = substr($value,0,strlen($value)-1)."\n";
                $isWaitingOtherLine = true;
            }
            else {
                $isWaitingOtherLine = false;
            }

            $result[$key] = $value;    
            unset($lines[$i]);        
        }

            return $result;


        }

但我不知道如何在代码中实现文件路径。

1 个答案:

答案 0 :(得分:1)

你可以这样做:

<?php
    $filepath = "[your path]"; 
    $fileContents = file_get_contents("$filepath");

    $result = parse_preperties($fileContents);

    //Fetch the contents from the result array and add them to the database

    function parse_properties($txtProperties) {
     ...
     ...
     ...
     }
?>