Mit FPDF vorhandene PDFs öffnen
16. April 2009
Ich hatte immer das Problem, wenn ich mit FPDF gearbeitet habe, das ich keine vorhandenen PDFs importieren konnte.
Diese wollte ich als Template nutzen, was nur FPDF von Haus aus nicht kann.
Ich habe die Erweiterung FPDI gefunden, womit es nun möglich ist, vorhandene PDFs zu öffnen.
Alle benötigten Sachen findet ihr hier:
Downloadseite von FPDF und Dokumentation
Downloadseite von FPDI / FPDF_TPL und Dokumentation
Alles herunterladen und entpacken. Bei FPDI / FPDF_TPL beide Sachen herunterladen. Die Datei fpdf_tpl.php aus dem FPDF_TPL Archiv in den Ordner von FPDI Kopieren. Ich habe die Ordner von FPDF und FPDI umbenannt, das sie nur noch fpdf und fpdi heißen
So un nun ein kleines Beispiel:
-
<?php
-
require_once(‘fpdf/fpdf.php’);
-
require_once(‘fpdi/fpdi.php’);
-
-
$pdf = new FPDI();
-
-
$pdf->setSourceFile(‘template.pdf’);
-
$tplidx = $pdf->importPage(1);
-
-
$pdf->addPage();
-
$pdf->useTemplate($tplidx);
-
-
$pdf->SetFont(‘Arial’,‘B’,16);
-
$pdf->Cell(0, 10, ‘Ich bin Text’);
-
-
$pdf->Output(‘newpdf.pdf’, ‘D’);
-
?>
Mit PHP DBase zu CSV Konvertieren
3. April 2009
Für ein neues Projekt habe ich das gebraucht. PHP bringt passende Funktionen für DBase schon mit, aber ich habe eine Klasse gefunden mit der es einfacher geht.
Die Klasse zum auslesen von DBase Datenbanken steht unter der GPL. Die Klasse kannst du hier downloaden: dbf_class.php
So und nun der Code:
Ab PHP Version 5 gibt es erst die CSV Funktionen.
-
<?php
-
include("dbf_class.php");
-
-
$dbaseDB = ‘DB.dbf’;
-
$dbf = new dbf_class($dbaseDB);
-
-
$csvFile = ‘file.csv’;
-
-
$num_rec=$dbf->dbf_num_rec;
-
-
for($i=0; $i<$num_rec; $i++) {
-
fputcsv($csv, $dbf->getRow($i));
-
}
-
-
?>
Für PHP Version 4, wo es die fputcsv() funktion noch nicht gibt.
-
<?php
-
include("dbf_class.php");
-
-
$dbaseDB = ‘DB.dbf’;
-
$dbf = new dbf_class($dbaseDB);
-
-
$csvFile = ‘file.csv’;
-
$csv_trenner = ‘;’;
-
-
$num_rec=$dbf->dbf_num_rec;
-
-
for($i=0; $i<$num_rec; $i++) {
-
}
-
-
?>
Wordpress dynamisches Untermenü
27. März 2009
Kleines Beispiel zur anzeige eines dynamischen Untermenüs. Abhängig vom angeklickten Hauptmenüpunkt wird das passende Untermenü angezeigt.
Bei mir wird das Untermenü in der Seitenleiste angezeigt (sidebar.php)
Folgenden Code in der sidebar.php im div <div id="sidebar"> hinzufügen.
-
-
<?php
-
//untermenu anzeigen wenn vorhanden
-
$parent_id = $post->post_parent ? $post->post_parent : $post->ID;
-
$submenu=wp_list_pages(‘title_li=&echo=0&child_of=’.$parent_id);
-
if($submenu) {
-
?>
-
<div class="sec-a_off">
-
<h2>Untermenu</h2>
-
<ul>
-
</ul>
-
-
</div>
-
<?php
-
}
-
?>
-
E-Mail Adressen prüfen nach RFC2822
20. März 2009
Diese PHP Funktion prüft E-Mail Adressen nach RFC2822 auf Gültigkeit.
-
-
<?
-
if (check_email_address($email)) {
-
} else {
-
}
-
-
function check_email_address($email) {
-
// check one @ symbol, and that the lengths are right
-
// Email invalid because wrong number of characters
-
// in one section, or wrong number of @ symbols.
-
return false;
-
}
-
// Split it into sections to make life easier
-
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~.-]{0,63})|("[^(\|")]{0,62}"))$", $local_array[$i])) {
-
return false;
-
}
-
}
-
// Check if domain is IP. If not, it should be valid domain name
-
if (!ereg("^[?[0-9.]+]?$", $email_array[1])) {
-
$domain_array = explode(".", $email_array[1]);
-
if (sizeof($domain_array) < 2) {
-
// Not enough parts to domain
-
return false;
-
}
-
for ($i = 0; $i < sizeof($domain_array); $i++) {
-
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {
-
return false;
-
}
-
}
-
}
-
return true;
-
}
-
?>
-
-

