Table of Contents
Snippets: PHP
Gists
Zusätzlich zu den Snippets hier im Wiki habe ich folgende Gists auf GitHub veröffentlicht:
- Markdown-Vorschau via PHP-Skript
Rendert eine Markdown-Datei in zu HTML, inkl. Stylesheet. Wenn an die URL der Markdown-Datei?previewangehängt wird, leitet eine RewriteRule automatisch zur Vorschau-Ansicht um.
Mail-Versand
Mit PHP können über die Funktion mail() relativ einfach E-Mails versendet werden. Solange man keine MIME-Mails mit Anhängen oder Text+HTML-Inhalt versenden will, braucht man auch keine externe Bibliothek.
Achtung: PHP versendet Mails unter Unix über sendmail. Wenn der Webserver nicht gleichzeitig der E-Mail-Server ist, wird der Versand jedoch höchstwahrscheinlich fehlschlagen. Mithilfe von MSMTP können Mails jedoch (sendmail-kompatibel!) über einen externen SMTP-Server versendet werden. In meinem Blog-Beitrag „PHP mail(), sendmail und MSMTP“ habe ich die Installation und Konfiguration von MSMTP Schritt-für-Schritt beschrieben, inkl. der notwendigen PHP-Konfiguration.
- mail.php
<?php $To = "john.doe@example.com"; $Subject = "Beispiel für die mail()-Funktion in PHP"; $Message = "Hallo, John Doe!\n\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.\n\n-- \nmfg\nDas Skript mail.php\n"; $From = "wiki.rt3x.de <webmaster@example.com>"; $mail_sent = mail( $To, $Subject, $Message, Array( "From" => $From, "Reply-To" => $From, "X-Mailer" => "PHP/".phpversion(), ) ); echo "\$mail_sent = " . ($mail_sent ? "True" : "False") . "\n;"
SQLite3
- sqlite3.php
<?php // Open database and create it if necessary $db = new SQLite3("dbfile.sqlite3"); // Initialize the database with a table and some data $db->exec('CREATE TABLE users(id INT NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT DEFAULT NULL, password TEXT NOT NULL'); $db->exec('INSERT INTO users (name, email, password) VALUES ("john.doe", "john.doe@example.com", "1234"));'); $db->exec('INSERT INTO users (name, email, password) VALUES ("jane.doe", "jane.doe@example.com", "asdf"));'); // Create a SQLite3Stmt, bind some values and execute the SQL command safely $stmt = $db->prepare('SELECT * FROM users WHERE id=:id AND name=:name'); $stmt->bindValue(':id', 1, SQLITE3_INTEGER); $stmt->bindValue(':name', "john.doe", SQLITE3_TEXT); // Execute statement and get first row as an associative Array $res = $stmt->execute(); var_dump($res->fetchArray());
