2013-02-05 39 views
0

我有如下因素语法现在PCB文件:PHP两行从文件中读取并投入变量

PAD EL 81 81 23 AL NP "" 1124 3836 0 0 0 
PAD EL 81 81 23 AL NP "" 1524 3836 0 0 0 
PAD EL 81 81 23 AL NP "" 1524 3684 0 0 0 
PAD EL 81 81 23 AL NP "" 1924 3684 0 0 0 
PAD EL 81 81 23 AL NP "" 3324 3838 0 0 0 
PAD EL 81 81 23 AL NP "" 3724 3838 0 0 0 

现在,我需要得到的数字为变量,我需要得到:

X1=1124 Y1=3836 
X2=1524 Y2=3836 
X3=1524 Y3=3684 
X4=1924 Y4=3684 

因此,我可以使用$ IsResistorVeritcal = X4-X3 = 400或$ IsResistorHorizo​​ntal = X2-X1 = 400获得组件的距离。

我对PHP的知识不是很好,所以我需要你的帮助。

谢谢。

这是代码提取X使用每个奇数或烤箱号......什么进展:)

/* Open File */ 
$fp = fopen($fileName, "r"); 

/* Read File */ 
while (!feof($fp)) 
{ 
    /* read one line */ 
    $line = fgets($fp); 

    /* if is pad */ 
    if (strpos($line,'PAD') !== false) 
    { 
     $ps = explode('" ', $line); 

     $points = array(); 

     foreach($ps as $point){ 
      $exploded = explode(" ", $point); 
      $points["x".$i] = $exploded[0]; 
      $points["y".$i] = $exploded[1]; 
      $i++; 
     } 

     $i=$i-1; 
     if ($i % 2 == 0) 
     { 
      echo 'x'.$i.' = '.$points["x".$i].'<br/>'; 
     } else { 
      echo 'x'.$i.' = '.$points["x".$i].'<br/>'; 
     } 



    } 

} 
+4

StackOverflow不是这个问题的适当位置。我们不会为您编写代码。你需要做自己的编码,如果你不确定为什么某些东西不能按预期工作,请在代码中加上一个解释你期望它做什么,以及它实际上在做什么,包括所有的错误信息。看[ask advice](http://stackoverflow.com/questions/ask-advice)。 –

回答

0

也许你应该file_get_contentsexplode开始坐标。

这样你就可以读取你的文件,然后将内容分割成一个数组(新行和空格)。

例如

$sContent = file_get_contents($sFile); 
$aContent = explode("\n\r", $sContent); //or just "\n" 
print_r($aContent); 
+0

/*读取文件*/ \t而 \t { \t \t/*读取一行*/ \t \t $行=与fgets($ FP)(FEOF($ FP)!); \t \t \t \t/*如果是垫*/ \t \t如果(strpos($线, 'PAD')!== FALSE) \t \t { \t \t \t $ PS =爆炸( '”',$线); \t \t \t $点=阵列(); \t \t \t \t \t \t的foreach($ Ps作为$点){ \t \t \t \t $ exploded = explode(“”,$ point); \t \t \t \t $ points [“x”。$ i] = $ exploded [0]; \t \t \t \t $ points [“y”。$ i] = $ exploded [1]; \t \t \t \t $ i ++; \t \t \t} \t \t \t \t \t \t的print_r($分); \t \t \t \t \t \t \t} \t},但它只能读取第一行和X1为ovveriden与最后一行值...所以它不工作。 – user1949029

+0

请不要把你的代码写入像这样的评论。使用编辑按钮更改您的文章(更好阅读)。 – Ilyssis

+0

好的...谢谢你帮助我...现在已经发布了一个读取x坐标的函数...我现在正在测试代码...以充分发挥功能。谢谢你的帮助。 – user1949029