2011-06-03 59 views
1

我發現了幾個與我的問題有關的問題和答案,但我感到有點困惑。也許從某人那裏澄清會有所幫助。PHP 4讀取和寫入XML

不幸的是,我在PHP 4工作 - 沒有升級的機會。 :(:(見下面的評論...我卡在一個客戶端服務器誰不希望從一個民俗/非PHP更新的Web主機升級。)

我的目標是使一個web-基於圖形用戶界面,更新的XML的Flash畫廊文件的內容,所以基本上XML文件是沒有什麼比這更:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<images> 
    <pic> 
     <image>images/image1.jpg</image> 
    </pic> 
    <pic> 
     <image>images/image2.jpg</image> 
    </pic> 
    <pic> 
     <image>images/image3.jpg</image> 
    </pic> 
</images> 

後端,我希望,只不過想看起來像的URL文本框圖片和「更新」按鈕,他們還可以通過點擊「添加圖片」添加另一張圖片。

現在,我發現這個問題:Read and write an XML file with PHP這似乎回答了我正在尋找的東西。我唯一擔心的是,假設我們想要編輯第二張圖片的網址,並且有8張圖片?更何況,如何填充文本框?

我唯一的想法是創建一個基本上就像寫東西的功能:

<pic> 
    <image>$_POST['textbox1']</image> 
</pic> 

,它只是通過每個文本框循環,寫道,則每次有任何更新寫入一個新的XML文件?

也許我正在使這個比它應該更復雜。

+4

PHP 4死了,不再受支持。如果可能的話,真的不應該再爲它編寫新的軟件了。使用PHP 5的本地庫,這些東西也簡單得多。你是否確定無法切換? – 2011-06-03 08:00:52

+0

我完全同意這一點,但我不能控制PHP環境。我試圖讓我的客戶切換到升級的主機,他們不想這樣做。我感到沮喪,因爲我發現PHP5會很輕鬆!好吧。 – Sara 2011-06-03 08:02:06

+5

希望你爲額外的努力和痛苦收取雙倍的費用? :) – Gordon 2011-06-03 08:04:32

回答

0

爲什麼不簡單地將文本框定義爲以下內容?

<input type="text" name="picture[]"/> 

然後在PHP您使用的是

foreach ($_POST['picture'] as $pictureUrl) 
{ 
    $buffer.= '<pic><image>'.$pictureUrl.'</image></pic>'; 
} 

你一定要檢查數組是否設置與否,只是訪問所有值等

+0

這將是偉大的!幾乎完美:)。你有什麼想法如何將標籤中的值放入文本框,以便它們「粘性」? – Sara 2011-06-03 08:10:20

+0

作爲quick'n'dirty的方式,你可以使用preg_match_all然後運行這個正則表達式(。*) – Ben 2011-06-03 08:18:32

+0

嗯,好的。我以前從未使用過preg_match_all,但我可以查看它。從我所看到的看起來它會非常有用。非常感謝! – Sara 2011-06-03 08:27:44