User Tools

Site Tools


snippets:php

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 ?preview angehä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());
snippets/php.txt · Last modified: by malte70