‚Speichern Unter‘ – Dialog öffnen mit PHP

Um z.B. eine PDF-Datei nicht direkt zu öffnen, sondern über den Speichern Unter – Dialog herunterzuladen, legt man das PDF zuersteinmal im Webspace ab.
Dann legt man eine PHP-Datei an, die wir hier einmal test.php nennen.
In diese Datei holt man sich das PDF-File, welches in unserem Beispiel mal test.pdf heißt.
Um dies zu bewerkstelligen schreibt man folgenden Code in die test.php:

<?php
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="test.pdf"');
readfile('test.pdf');
?>

Wenn man jetzt auf die test.php verlinkt, öffent sich der Speichern Unter – Dialog für das PDF.
Über den Content-Type kann man dies auch mit anderen Dateitypen hinbekommen.

Suche in Texten

Um eine gesuchtes Wort innerhalb eines Textes farbig zu markieren, benötigt es nicht viel Code.

<?php

$searchtext="Text";

$text="";
$text.="Hallo, dieses ist ein ganz normaler Text, den wir Mithilfe dieses Scriptes druchsuchen möchten.<br />";
$text.="Selbstverst&auml;ndlich soll das gesuchte Wort in der Textanzeige farbig dargestellt werden.<br />";
$text.="Selbst dann wenn es ein Bestandteil eines Wortes ist.";

echo "<p><b>Text ohne Suchworte :</b><br />";
echo $text."</p>";
echo "<p><b>Das Suchwort</b><br />";
echo $searchtext."</p>";

$tex="";
$tex.= str_replace($searchtext, "<font style=\"font-family:Arial;background-color:#03FC0F;font-size:12px;color:#000;\">";
$tex.="$searchtext."</font>", $text);

echo "<p><b>Text mit markiertem Suchworte :</b><br />";
echo $tex."</p>";

?>

Wichtig ist hier die Funktion str_replace.

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Diese Funktion gibt einen String oder ein Array zurück, in dem alle Vorkommen von search (hier $searchtext) innerhalb von subject (hier $text) durch den angegebenen replace -Wert
(hier „<font style=\“font-family:Arial;background-color:#03FC0F;font-size:12px;color:#000;\“>
.$searchtext.“</font>) ersetzt werden.

PHP : mail() funktioniert nicht, Mail wird nicht versendet / from -f

Wenn die mail() – Funktion nicht das tut, was sie soll, wenn also die Mail nich versendet wird, dann liegt das oft an der fehlenden -f – Option.
Diese muss man bei manchen Providern – allen voran Host Europe – aus Sicherheutsgründen im from-Feld mit angeben. Die From-Adresse muss auch tatsächlich existieren und eingerichtet sein.

mail($toAdress,$subject,$inhalt,"-f absender@mail.de");