2012-03-27 22 views
1

我一直在使用以下在我正在編寫的頁面上添加一個動態鏈接,它工作正常,並顯示它應該如何在頁面上,但我不能幫助,但認爲我要去一點它的書面形式看起來很雜亂。什麼是寫它,因爲如果我把它們都放在一個行不工作?..在Php中添加一個動態鏈接

echo '<a href="./customer-files/'; 
     echo $customerID; 
     echo '/'; 
     echo $filename->getFilename(); 
     echo '">'; 
       echo $filename->getFilename(); 
    echo '</a>'; 

回答

0

我想接近它這樣

<a href="./customer-files/<?php 
    echo $customerID . '/' . $filename->getFilename() 
?>"> 
    <?php echo $filename->getFilename() ?> 
</a> 

這樣,您的IDE將正確地突出顯示您的HTML以及您的PHP。我也確保所有的PHP都是單行blob,這是模板的最佳方法(冗長的語句應該放棄到控制器/腳本)。

+0

謝謝:),這是否會從文件名中刪除任何空格等? – 2012-03-27 10:26:10

+0

它不會刪除它們,它會替換它們以URL安全的替代品......但這是一個很好的觀點。它不應該在可見的文件名上完成。 (回答編輯) – Quentin 2012-03-27 10:27:00

0

級聯是你的朋友的正確方法。使用.將多個字符串表達式合併爲一個。

echo '<a href="./customer-files/'.$customerID.'/'.$filename->getFilename().'">'.$filename->getFilename()/'</a>'; 

更妙的辦法是

$filename = $filename -> getFilename(); //cache the filename 
echo "<a href='/$customerId/$filename'>$filename</a>"; 
    //^On this echo NOTICE that variables can be DIRECTLY placed inside Double qoutes. 
+0

只是看着,並道歉 - 你說得很對。我相當積極的HTML5和XHTML都需要語音標記而不是撇號屬性,結果都沒有。即使XML! ':-o'我不知道。 – halfer 2012-03-27 15:28:34

+0

@halfer,太好了,我正在刪除我的評論呢! – Starx 2012-03-27 15:31:33

0

我會去與這樣的:

$fn = $filename->getFilename(); 
$link = $customerID . '/' . $fn; 
echo '<a href="'.$link.'">'.$fn.'</a>'; 
1

嘗試用

echo "<a href=\"./customer-files/{$customerID}/{$filename->getFilename()}\">{$filename->getFilename()}</a>"; 

Here存在有很多的文檔如何t的例子o連接輸出。如果您使用的是模板層

$safe_customer_id = htmlspecialchars(urlencode($customerID)); 
$safe_filename = htmlspecialchars(urlencode($filename->getFilename())); 
$safe_label = htmlspecialchars($filename->getFilename()); 
echo "<a href=\"./customer-files/$safe_customer_id/$safe_filename\">$safe_label</a>"; 
+0

我不推薦這種方法,因爲它不會在IDE中高亮顯示HTML,並且在編輯時可能需要水平滾動。在可能的情況下,我認爲線路應該更短。 – halfer 2012-03-27 10:28:42

+0

嗯,你的變量不會擴大,因爲你在單引號內,而不是雙引號。 – halfer 2012-03-27 10:29:49

+0

我已更正單引號問題。關於你的第一條評論,我沒有想過IDE。關於行長,這只是我個人的口味問題。不管怎麼說,還是要謝謝你! – 2012-03-27 12:37:02

0

,它甚至不如闖入了PHP,只有當你需要: