Sprawdziłem php.net
i przeczytałem kilka przykładów, jak działa urlencode()
, ale jakoś po prostu nie mogę tego naprawić. Czy ktoś może mi pomóc?jak korzystać z urlencode() w moim przykładzie?
To będzie dużo do zrobienia, więc mam nadzieję, że mój krótki przykład miałby sens.
Mam stronę o nazwie 2.php
i została ona wywołana, aby pokazać zawartość pliku .txt
wybranego w 1.php
.
Powiedziano mi, aby link do 3.php
a link powinien wyglądać mniej więcej tak /3?filename=a.txt
z pliku jako GET
nazwy parametru i zapewnić GET
wartość parametru jest urlencoded
użyciu funkcji urlencode()
.
ale jestem zdezorientowany, jak i gdzie powinienem umieścić urlencode()
, aby działał.
będę wkleić mój kod 2.php tutaj ... I uproszczone kody nieco ...
<?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>";
?>
ale ... opcja 3.php musi mieć ciąg kwerendy dołączoną do niego: the nazwa pliku tekstowego, który został wybrany w 1, więc zamiast ./3.php, adres URL powinien być taki, jak ./3? nazwa_pliku=asdf.txt
Użyj "filename" jako nazwy parametru GET. Upewnij się, że wartość parametru GET jest zakodowana za pomocą funkcji urlencode().
ale ja po prostu nie wiem, jak zmusić go do pracy ....
Wklej swój kod. –
Należy zauważyć, że ten system może być podatny na zdalne włączanie plików, jeśli nie jest obsługiwany prawidłowo –
wklejony ... ale trochę go uprościł, więc nie ma za dużo do czytania, ale mam nadzieję, że nadal rozumiem, że odczytywanie nazw plików za pomocą kodu – Dora