2015-04-21 39 views
-3

我有一個圖像文件名數組,通過聯繫表單傳遞,並作爲電子郵件發送給網站所有者(這些圖像是上傳的,但該部分一切正常)。向每個implode添加一個變量

$Images = $_POST['images6ex']打印數組,並使用$result = implode(', ', $Images);使其更具可讀性。

我希望能夠爲每個內爆結果添加一個基本URL,因此電子郵件收件人只需單擊(或複製/粘貼)電子郵件中的鏈接,而不是每次都登錄到ftp。這可能嗎?沒有必要把它包裝在我不認爲的href標籤中。

我想:

$fullurl = array($baseurl,$Images); 
$result = implode(', ', $fullurl); 

,但我只是得到

http://whatever.com/files/,陣列

作爲輸出。

我的最終輸出需要是一個變量,因爲這是電子郵件正文的構建方式:http://pastebin.com/JJSW3Jbg。我不確定這是否是構建電子郵件正文最有效的方式,但它的工作原理...

回答

2

最短的(雖然不是很優雅)的解決方案很可能是:

$result = $baseurl.implode(', '.$baseurl, $Images); 

這種預先考慮的$baseurl每一個元素與$baseurl除了第一個(因爲這是怎麼implode works),然後用它來預先考慮整個結果,以修復第一個元素。

+0

謝謝 - 這是現貨和工作的一種享受。這可能不是最好的做法,但你的回答是非常有幫助的。 – Dave

0

您需要循環才能將其添加到數組中的每個元素,這不會發生那。最優雅的方法是array_map

echo join(', ', array_map(
    function ($url) use ($baseurl) { return "$baseurl/$url"; }, 
    $Images 
));