Konstante mittels String aufrufen

04. Juli 2009

Manchmal hat man das Problem dass eine definierte Konstante aufgerufen werden soll, jedoch aus einer dynamischen Abfrage. Beispielsweise hat man einen String für ein DIV („DIV_STRING“) in mehreren Sprachen definiert und möchte dies nun dynamisch, je nach gerade aktiver Sprache abfragen (beispielsweise DIV_STRING_DEUTSCH).
Das ist so ganz einfach zu lösen:

$sprache = 'deutsch';
echo constant('DIV_STRING_'.strtoupper($sprache));

PHP Datei mittels include() in eine Variable einlesen

03. Juli 2009

Oft ist es so, dass man eine Datei inkludieren möchte, diese jedoch in einer Variable zwischengespeichert werden soll. Mit fread() würde das ganz einfach klappen. Es könnte aber sein dass die zu inkludierende Datei beispielsweise PHP-Code enthält und somit vorher ausgeführt werden muss.

Das funktioniert dann auf folgende Weise:

ob_start();  // Buffer start
include('file.php');  // file.php ist nun im Buffer gespeichert
$var = ob_get_contents();  // Der Buffer wird in die Variable $var übertragen
ob_end_clean();  // Buffer löschen
echo $var;  //$var kann nun weiter verwendet werden

Die besten Witze aus allen Kategorien

30. Juni 2009

Früher musste man den Drachen töten und konnte die Jungfrau heiraten.

Heute gibt es keine Jungfrauen mehr, man muss den Drachen heiraten.


Frau steht vor dem zu Bett gehen nackt vor dem Spiegel, lässt ihren Blick am
Spiegelbild „rauf und runter“ wandern und meint dann seufzend zu ihrem Mann:

„Wenn ich das so sehe, fühle ich mich sehr alt.
Meine Haut ist schrumpelig und schlapp, meine Brüste hängen beinahe bis zur
Hüfte und mein Hintern ist total dick geworden.“

Sie dreht sich zu ihrem Mann um und sagt: „Bitte sag jetzt etwas Positives
über mich, damit ich mich ein wenig besser fühle!“

Er überlegt einen Moment und meint dann: „Na wenigstens scheint mit deinen
Augen noch alles in Ordnung zu sein.“


Ein junger Mann sagt im Gespräch mit einem älteren Herren: „Das Erste, was ich tun werde, wenn ich heirate, ist, meine Schwiegermutter für mindestens fünf Jahre in den Urlaub zu schicken!“

Darauf der ältere Herr: „Ihre Idee gefällt mir! Haben sie nicht Lust, eine meiner Töchter zu heiraten?“


Mama hat beim Einkauf die Tampons vergessen und schickt ihren Sohn in die Apotheke. Allerdings sagt sie ihm eindringlich, er soll das anständig machen und ja keine blöden Sprüche loslassen.

 

Bald ruft die Apothekerin an und fragt nach, was der Kleine den genau wolle. „Was hat er denn verlangt? fragt Mama.

„Dämmwolle für Papi’s Hobbyraum“


„Welche Aufgabe hat der Abteilungsleiter dir zugeteilt,“ fragt der Chef den Lehrling.

 

„Ich sollte ihn wecken, wenn Sie kommen!“

Best of Medizin

22. Juni 2009

Ein Arzt stellt mitten in der Nacht fest, dass sein Keller unter Wasser steht. Sofort ruft er einen Klempner an.
Dieser weigert sich allerdings, zu dieser späten Stunde noch zu kommen. Daraufhin wird der Arzt aufgebracht und erklärt, dass er auch mitten in der Nacht kommen muss, wenn er zu einem Notfall gerufen wird.
Eine viertel Stunde später ist der Klempner da. Gemeinsam mit dem Arzt betritt er die Kellertreppe, die bereits zur Hälfte unter Wasser steht.
Der Klempner öffnet seine Tasche, holt zwei Dichtungsringe heraus, wirft diese ins Wasser und sagt: „Wenn es bis morgen nicht besser ist, rufen Sie wieder an.“


Die Oberschwester kommt aufgeregt ins Arztzimmer gerannt: „Der Simulant in Zimmer 23 ist gerade verstorben!“

„Donnerwetter“, sagt der Stationsarzt, „jetzt übertreibt er aber gewaltig!“


Der Doktor geht über den Gelsenkirchener Friedhof. Trifft ihn ein Patient und meint: „Na, Herr Doktor, machen sie Inventur?“


Der Arzt zum Patienten: „Tut mir leid, aber ich kann bei Ihnen nichts finden. Es muss wohl am Alkohol liegen!“

Der Patient: „Dann komme ich wieder, wenn Sie nüchtern sind!“


Der Arzt stürzt aufgeregt in die Leichenhalle:
„Herr Beverungen, Sie hatten aber verdammtes Glück, nicht Ihr Puls ist stehen geblieben, sondern meine Uhr“


Der Arzt sitzt am Sterbebett und sagt mit sorgenvoller Miene zum Ehemann:
„Also, Ihre Frau gefällt mir überhaupt nicht.“
Der Ehemann nickt zustimmend.
„Mir auch nicht, aber es wird ja nicht mehr lange dauern, oder?“


Psychiater: „Ich kenne Ihr Problem noch nicht, darum fangen wir am besten ganz von vorne an.“

Patient: „Am Anfang schuf ich Himmel und Erde…“


Der Internist hat Ahnung, kann aber nichts.
Der Chirurg hat keine Ahnung, kann aber alles.
Der Psychiater hat keine Ahnung und kann nichts, hat aber für alles Verständnis.
Der Pathologe weiss alles, kann alles, kommt aber immer zu spät.


Der Augenarzt nach der Untersuchung:
„Unglaublich… Wie haben Sie überhaupt hier hergefunden?

Best of Business

30. März 2009

„Sie wollen einen Posten in unserer Firma. Was können Sie denn?“
„Nichts!“
„Tut mir leid, die hochbezahlten Positionen sind alle schon besetzt!“

BB-Code auf eigener Webseite mittels Callback Funktion

27. März 2009

Um einen BB-Code auf der eigenen Webseite einzubinden kann man ganz einfach vorgehen, nämlich mit preg_replace():

$text = $preg_replace('/\[b\](.*?)\[\/b\]/is', '<b>//1</b>', $text);

Wenn man nun jedoch Funktionen im Ersatz aufrufen möchte, wie zum Beispiel wenn man PHP-Code highlighten will, so muss man auf eine andere Funktion zurückgreifen: preg_replace_callback(). Um sich hier eine externe Funktion zu ersparen kann man wiederum die Funktion create_function() verwenden:

$text = preg_replace_callback("/\[php\](.*?)\[\/php\]/is", create_function('$hits', 'return highlight_string(preg_replace(\'/\[php\](.*?)\[\/php\]/is\', \'\\1\', $hits[0]), 1);'), $text);

Schaut kompliziert aus… isses aber nicht. ;)

Einen oder mehrere zufällige Datensätze aus einer mySQL Datenbank auslesen

26. März 2009

Häufig möchte man einen oder mehrere zufällige Datensätze aus einer mySQL Datenbank auslesen. Man könnte nun alle Datensätze auslesen und diese dann mit PHP randomisieren und limitieren, dies wäre jedoch performancetechnischer Wahnsinn.

Eine Einfache Lösung ist, dass man bereits alles in der mySQL Abfrage erledigt:

$x = 3;
$sql = "SELECT spalte1,
               spalte2,
               spalte3
        FROM tabelle
        ORDER BY RAND()
        LIMIT ".$x;
$query = mysql_query($sql);

Durch „ORDER BY RAND()“ werden zufällige Datensätze aus der mySQL Datenbank ausgelesen. LIMIT $x bestimmt wieviele solcher Datensätze ausgegeben werden.
In unserem Falle werden nun 3 zufällige Datensätze aus der mySQL Datenbank ausgegeben.

PHP: Zeile und Spalten einer HTML-Tabelle schliessen und eine neue Zeile beginnen.

23. März 2009

Diese Überschrift klingt ja furchtbar kompliziert und auch irgendwie sinnlos. Sehr praktisch ist dies jedoch, wenn man zum Beispiel

  1. Zeilen abwechselnd farblich hervorheben möchte
  2. Eine beliebige Anzahl an Tabellenspalten pro Zeile ausgeben möchte

Beispiel 1: Zeilen farblich hervorheben:

$str = '<table cellpadding="0" cellspacing="0" border="0">';
for($i=1; $i<=10; $i++) {
  $class = $i%2 == 0 ? 'gerade' : 'ungerade';
  $str.= '  <tr class="'.$class.'">';
  $str.= '    <td>Zeile '.$i.' - '.$class.'</td>';
  $str.= '  </tr>';
}
$str.= '</table>';
echo $str;

Wenn Ihr nun im css-Stylesheet für gerade und ungerade eine unterschiedliche Hintergrundfarbe oder ähnliches habt, so wird diese auch unterschiedlich angezeigt.
Ein Beispiel: Die Artikelauflistung auf Gamespot.at

Beispiel 2: Eine beliebige Anzahl an Spalten pro Zeile ausgeben:

$rowBreak = 3; // Wir möchten nach 3 Spalten eine neue Zeile beginnen
$str = '<table cellpadding="0" cellspacing="0" border="1">';
$str.= '  <tr>';
for($i=1; $i<=20; $i++) { // wir geben 20 x-beliebige Datensätze aus
  $str.= '    <td>Spalte '.$i.'</td>';
  if($i%$rowBreak == 0) { // nach $rowBreak Spalten eine neue Zeile beginnen
    $str.= '  </tr>
              <tr>';
  }
}
$str.= '</table>';
echo $str;

PHP: Ein Bild mit Text generieren

23. März 2009

Eine weitere einfache und ideale Methode seine Emailadressen gegen Bots zu schützen ist diese einfach in ein Bild zu verwandeln:

   $text = "PromaDesign.com";
   $pic=ImageCreate(130,30); // breite, höhe
   $col1=ImageColorAllocate($pic,0,0,0);
   $col2=ImageColorAllocate($pic,255,255,255);
   ImageFilledRectangle($pic, 0, 0, 500, 30, $col2);
   ImageString($pic, 3, 5, 8, $text, $col1);
   Header("Expires: Mon, 23 Jul 2009 05:00:00 GMT");
   Header("Content-type: image/jpeg");
   ImageJPEG($pic);
   ImageDestroy($pic);

PHP: Emailadressen auf der Seite gegen Spam-Bots schützen

23. März 2009

Dieses Script codiert die Emailadressen im Quellcode, so dass sie von Bots nicht ausgelesen werden können. Wir bieten HIER auch eine JavaScript Variante diesbezüglich an.

function noSpam($mail) {
  $str = '';
  $arr = explode("\r\n",chunk_split($mail,1),strlen($mail));
  for($i=0;$i<count($arr);$i++) {
    $str.= '&#'.ord($arr[$i]).';';
  }
  return '<a href="mailto:'.$str.'">'.$str.'</a>';
}
 
echo noSpam('info@promadesign.com');