Rozdział 5. ♦ Przetwarzanie danych z przeglądarki 147
Przedstawiony powyżej przykład można rozbudować w taki sposób, aby skrypt pozwalał na wysłanie do przeglądarki dowolnego pliku, o nazwie przekazanej w postaci parametru. Rozbijemy go zatem na dwie części. Pierwsza będzie zawierała kod HTML z listą plików do pobrania, a druga właściwy skrypt wysyłający plik. Lista plików będzie generowana jako odnośniki zrealizowane za pomocą standardowych znaczników <a>, w schematycznej postaci:
<a href="http://adres.serwera/download.php?name=nazwa_pliku">
Wynika z tego, że nazwa pliku, który ma zostać wysłany, będzie przekazywana metodą GET do skryptu downloadphp, w postaci parametru o nazwie name. Zadaniem skryptu będzie odczytanie tej nazwy i wysłanie odpowiadającego jej pliku do przeglądarki. Przykładowy kod HTML, zawierający zrealizowaną w opisany sposób listę plików, został przedstawiony na listingu 5.10. Wygląd listy po wczytaniu kodu do przeglądarki obrazuje rysunek 5.7.
Listing 5.10. Formularz HTML z lisią plików do pobrania
<html>
<head>
<title>Lista plików</ti11e>
</head>
<body>
<a href="http://127.0.0.1/download.php?name=pl ikl.zip">
Pierwszy plik
</a><br>
<a href=”http://127.0.0.1/download.php?name-pli k2.zi p">
Drugi plik
</a><br>
<a href="http://127.0.0.1/download.php?name-plik3.zi p">
Trzeci plik
</a><br>
<a href="http://127.0.0.1/download.php?name=plik4.zip">
Czwarty plik
</a><br>
<a href“”http://127.0.0.1/download.php?name=pli k5.zi p”>
Piąty plik
</a><br>
</body>
</html>
Skrypt downloadphp musi wykonać następujące czynności:
1. Odczytać z tablicy $_GET wartość parametru name.
2. Sprawdzić, czy odczytane dane faktycznie określająjeden z plików przeznaczonych do pobrania.
3. Wysłać plik.