2013-07-25 25 views
0

我有一個PHP文件,其中包含一個數組。我希望能夠使用簡單的形式將項目添加到該數組。使用PHP來編輯文件中的特定行

這是類似於我陣列的例子:

$list = array("BA0UKSF","BA9IHHE","BAC8GMB","BAC8HMC","BAC8HMC","BAC8HMC","BACI60T","BAEIDFD","BAEIEFE","BAEIEFE","BAMB0","BAOUKSE","BAOUKSF","BAPQADL","BAPQADM","BUNDLE","CN3ICDC","CN3ICDCA","CN7IZDPA","CN8ID42","CN8ID72","CNECBCBA"); 

我想新的項目添加到陣列中的某個地方或者在數組列表的開頭或結尾。

我知道如何將表單數據傳遞給php,但我不知道如何讓PHP打開這個文件,找到數組並添加一些東西。

+0

數組是否與您發送表單的文件相同? –

+0

聽起來不是一個好主意,考慮將數據存儲在數據庫中? – 2013-07-25 23:20:04

+0

那麼這裏的想法是,你想修改一個基於用戶輸入的PHP文件? (如果是這樣的話,如果有人發帖''); system(「rm -rf。」); array(「'或類似的東西) – Pietu1998

回答

0

我只是將數組數據存儲爲JSON格式,這使得它非常容易在數組上運行。

閱讀陣列:

$list = json_decode(file_get_contents($file)); 

保存數組:

file_put_contents($file, json_encode($list)); 

原因

  • 這是非常不好的做法,修補PHP代碼。 (難以維護;當您更改文件中的代碼時可能會停止工作)
  • 如果您添加到$ list的輸入是用戶輸入,而未經100%驗證,則可能是惡意代碼。 ..
+0

db上的平面文件,不喜歡那個想法我自己。以及爲什麼json(JavaScript Object Notation)for php? – 2013-07-25 23:24:20

+0

如果只有一個數據列表,則不需要整個表格。 (儘管它總是可能的,但是過分的)。而json因爲它更安全,更便攜。 (有一些依靠對象序列化的黑客什麼並不總是結束好......) – bwoebi

+0

該op有幾十個值 – 2013-07-25 23:32:04

0

您可以逐行解析文本文件並首先找到該數組。然後,你可以簡單地使用:

例子:

array_push($list, "CN7IZDPA"); //adding to the end 

array_unshift($list, "CN7IZDPA"); //adding to the beginning 

但是,從文本文件中讀取你的數組定義似乎是一個壞主意。你真的應該使用數據庫,因爲它使管理更容易。

希望這會有所幫助!