2013-02-22 41 views
5

我檢查了php.net,並閱讀了幾個urlencode()工作原理的例子,但不知何故,我無法正確理解它。有人能幫我一把嗎?如何在我的例子中使用urlencode()?

這將是很多例子,所以希望我的簡短例子是有道理的。

我有一個名爲2.php的頁面,它被調用來顯示1.php中選擇的.txt文件的一些內容。

有人告訴我做一個鏈接,3.php和鏈接應該是這個樣子/3?filename=a.txt 用文件名作爲參數GET名和確保GET參數值是urlencoded使用urlencode()功能。

但我很困惑如何以及在哪裏我應該把urlencode()使它工作。

我會在這裏貼上我2.PHP代碼...我簡化了代碼有點...

<?php 

$fileContents = file("./aaa/" . $_GET["course"] . ".txt"); 

echo "<table border=\"1\">"; 

foreach($fileContents as $row) 
{ 
    echo "<tr>"; 
    $contents = preg_split("/,/", $row); 

    foreach($contents as $eachline) 
    { 
     echo "<td>"; 
     if(!(preg_match("/@/", $eachline))) 
     { 
     echo trim(ucfirst($eachline)); 
     } 
     else 
     { 
     echo trim(strtolower($eachline)); 
     } 
     echo "</td>"; 
    } 
    echo "</tr>"; 
} 

    echo "</table>"; 

    echo "<a href='./1.php'>Choose another txt file</a><br/>"; 
    echo "or<br/>"; 
    echo "<a href='.3.php?'>Work with this txt file</a>"; 
?> 

...但是... 3.php選項必須附加一個查詢字符串:在在1中選擇的文本文件的名稱,因此而不是./3.php,url應該是諸如./3?filename=asdf.txt的文件。

使用「filename」作爲GET參數名稱。確保使用urlencode()函數對GET參數值進行urlencoded編碼。

,但我只是不知道如何得到它的工作....

+0

粘貼你的代碼。 – 2013-02-22 06:23:34

+0

請注意,這個系統可能容易受到遠程文件包容,如果處理不當 – 2013-02-22 06:24:58

+0

粘貼....但有點簡化了一點,所以沒有太多的閱讀,但希望仍然能夠理解 – Dora 2013-02-22 06:51:18

回答

4

你可以用,應該是URL字符串中的功能編碼的部分:

$url = 'http://www.google.com?q=' . urlencode($search); 

OR in html 

http://www.google.com?q=<?php echo urlencode($search); ?> 

在哪裏.是2個輸出的串聯。

+0

但是如何搜索$?那應該是什麼?像什麼輸出?哦,我們可以把回聲放在鏈接中? (對不起,我完全陌生於PHP,仍在學習) – Dora 2013-02-22 07:14:56

+0

我想我已經開始明白了。但如果我這樣做...... $ url =「./3.php?filename=」。 urlencode($ _ GET [「aaa」]。「.txt」);我想如果我使用$ _GET [「文件名」]會給我與$ _GET [「aaa」]相同的結果。這也是使用urlencode的好結果之一嗎?因爲如果我只是在3.php中使用$ _GET [「aaa」],由於它沒有鏈接,但是在「./3.php?filename=」的幫助下無法找到該值。 urlencode($ _ GET [「aaa」]。「.txt」);我可以將$ _GET [「aaa」]的參數傳遞給3.php – Dora 2013-02-22 11:27:24

相關問題