2012-04-08 38 views
0

過程:array_unique不從文本文件導入的文件名字符串工作

  1. 用戶檢查複選框客戶
  2. 複選框值與存儲在從一個txt文件中的陣列相比佔共享文件
  3. 這些陣列是通過使用array_merge被合併成一個陣列相比客戶文件夾()
  4. 的重複使用array_unique消除()
  5. 新陣列寫入txt文件

問題:

如果我的文本文件已經包含了以下數據:

  1. 中號HTH A277幀(表示文本文件中的行號)關STD規格02-01-12.pdf
  2. M HTH A277框架在STD規格02-01-12.pdf
  3. M HTH選項可以價格列表02-02- 2012.xls

然後我嘗試共享更多文件,包括那些已經共享的文件。我的新的文本文件看起來像這樣:(表示文本文件中的行號)

  1. 中號HTH A277框關STD規格02-01-12.pdf
  2. (空白)
  3. 中號HTH A277幀STD規格02-01-12.pdf
  4. (空白)
  5. 中號HTH選項價目表02-02-2012.xls
  6. (空白)
  7. (空白)
  8. 中號HTH A277框關STD規格02-01-12.pdf
  9. 中號HTH A277幀STD規格02-01-12.pdf
  10. 中號HTH選項價目表02-02-2012.xls
  11. Valley Creek Estates - 2010.pdf

上面的值是我正在處理的確切值。我試圖儘可能徹底地解釋這個可能讓事情混亂的解釋。如果任何人可以提供任何建議,他們將不勝感激。提前致謝。這是我已經得到了到目前爲止的代碼:

的代碼:

$arr = $_POST['checked']; 
$cust = $_POST['custname']; 

    if ($cust != ""){ 

     $myFile = "CONTA.txt"; 

     //If file exists get previous array from file 
     if (file_exists("customer/" . $cust . "/" . $myFile)) {   

      $fh = fopen("customer/" . $cust . "/" . $myFile, 'r') or die(""); 

       while (!feof($fh)) { 
         $compare[] = fgets($fh); 
       } 

      fclose($fh); 

      //Combine checkbox array with previous array & eliminate duplicates 

      $combined = array_unique(array_merge($compare,$arr)); 

     } 
     else 
     { 

      //Since no previous file or array existed. Just use current checkbox array.  
      $combined = $arr; 


     } 

     //Input array into file 
     $fh = fopen("customer/" . $cust . "/" . $myFile, 'w') or die("can't open file"); 

      foreach ($combined as $value) { 

        fwrite($fh, $value . "\n"); 

      } 
     echo "<span class='message'>Items shared successfully!</span>"; 
     fclose($fh); 
    } 

} 
+0

歡迎堆棧溢出!來自巴西? (''CONTA.txt';'這裏的單詞CONTAR與count相同,但是發音爲CONTA。) – 2012-04-08 03:42:06

回答

0

對我來說,它看起來像這個問題是「\ n」字符。每一行在最後都有一個新行,當你比較具有換行符的行和不同的行時,它們是不一樣的。我會通過回覆fgets中的每一行來證實這一點。如果他們線條斷裂,那麼你知道你正在獲得新的線條字符。

編輯:
我會嘗試把
裝飾(與fgets($ FH))
默認情況下它應該剝去換行符
trim specs

+0

這樣做。有一種感覺是簡單的。感謝您的及時回覆。 – Bryan 2012-04-08 05:11:58

相關問題