Prednedávnom vyšiel článok o hodnotení a komentároch k článkom v PHP. Teraz si tento mini seriál doplníme o ďalšie funkcie: odoslanie článku emailom, stiahnutie článku ako txt súbor a verziu článku pre tlač.

Odoslanie článku emailom

Máme na výber dve alternatívy: buď odošleme celý článok, alebo len úvod, resp. nejakú časť. Niektoré články sú formátované priamo pre zobrazenie v prehliadači. Tento článok cez PHP môžeme poslať, výsledkom však bude, že niektoré emailové programy túto správu nezobrazia. Preto vám radím odosielať len neformátované články, no tento skript zvládne i HTML formátované články:

send.php

<?PHP
if(!isset($email)):

echo "<form><input type=hidden name=predmet value=\"$predmet\"><input type=hidden name=text value=\"$text\">Zadajte email: <input type=text name=\"email\"><input type=submit>";

else:

$text = urldecode($text);
$predmet = urldecode($predmet);
mail($email, $predmet, $text, "Content-Type: text/html; charset=windows-1250\nFrom: VasServer <vas@server.cz>");
echo "Email bol odoslaný";
endif;
?>

Takto veľmi jednoducho môžeme odoslať článok. Z článku musíme dať odkaz v tvare:

<a href=’send.php?predmet=<?PHP echo urlencode($predmet) ?>&text=<?PHP echo urlencode($text) ?>‘>Odoslat clanek na email</a>

Premenná predmet obsahuje napr. nadpis článku a text obsahuje samotný text článku. Skript si potom vypýta email, na ktorý má článok odoslať. Po kliknutí na tlačítko sa vykoná skript: rozkódujú sa obe premenné predmet a text a odošle sa email. V našom prípade sa odoslal HTML email. Ak nechcete odoslať HTML email, hlavičku Content-Type vymažte.

Stiahnutie článku ako súbor .txt

Ak chcete článok ponúknuť na stiahnutie v čistej forme (bez obrázkov a navigačných prvkov), je táto funkcia vhodná. Opäť ju uložíme do súboru, tentoraz down.php:

<?PHP
header("Content-disposition: filename=$nadpis.txt");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");

echo urldecode($nadpis);
echo "\n\n";
echo urldecode($text);
echo "————————-";
echo "url: $HTTP_REFERER";
?>

Túto funkciu zavoláte odkazom:

<A href=’down.php?nadpis=<?PHP echo urlencode($nadpis) ?>&text=<? echo urlencode($text) ?>‘>Stahnout clanek ako .txt</a>

Kde nadpis a text musíte samozrejme doplniť. Vďaka hlavičkám dokážete ovplyvniť to, že súbor neuvidíte v prehliadači, ale užívateľovi sa ukáže ponuka na stiahnutie súboru, ktorého názov môžete tiež predom určiť.

Na koniec: verzia pre tlač

Tento skript je najjednoduchší. A o to nám ide. O jednoduchosť. Je dobré ponúkať k článku verziu pre tlač, kde užívateľ nájde holý článok, najlepšie bez obrázkov. Takisto font môže byť Times New Roman. Ide o to, aby si užívateľ mohol článok bez problémov a zbytočných vecí vytlačiť. Súbor print.php vyzerá takto:

<html>
<head>
<title>Clanek</title>
</head>

<body onLoad="if (window.print) {window.print();} else {alert(Pre vytlačenie stlačte CTRL-P !);} ">
<?PHP
echo urldecode($text);
echo "\n\nVytlacene z: $HTTP_REFERER";
?>
</body>
</html>

Na záver treba dodať, že uvedené funkcie tak ako sú napísané, sa hodia iba pre kratšie články, lebo text sa predáva do URL, kde dĺžka nie je neobmedzená. Pre dlhšie články by bolo vhodnejšie použiť vloženie súboru článku pomocou include alebo z databázy – princíp zostáva rovnaký.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět