PHP / Tipps / Bausteine 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 / Archiv / Hilfe

Senden Sie uns Ihren PHP-Baustein zu  
SiteMap - Alle 222 PHP Bausteine anzeigen

 

Alle Dateien in einem Verzeichnis löschen

1
2
3
4
5
6
7
8
9
10
11
<?php
// Alle Dateien in einem Verzeichnis löschen

$verzeichnis opendir ("bilder");
while (
$file readdir ($verzeichnis)) {
 if (
$file != "." && $file != "..") {
  
unlink ("bilder/$file");
 }
}
closedir ($verzeichnis);
?>
Wenn der Webserver PHP 5 unterstützt dann lassen sich
Dateien » noch einfacher löschen

 

Informationen über die installierte GD-Grafikbibliothek anzeigen

1
2
3
4
5
6
7
8
<?php 
// Informationen über die installierte
// GD-Grafikbibliothek anzeigen
$info gd_info();
echo 
'<pre>';
print_r($info);
echo 
'</pre>';
?>
Beispiel:
Array
(
    [GD Version] => bundled (2.0.34 compatible)
    [FreeType Support] => 1
    [FreeType Linkage] => with freetype
    [T1Lib Support] => 
    [GIF Read Support] => 1
    [GIF Create Support] => 1
    [JPG Support] => 1
    [PNG Support] => 1
    [WBMP Support] => 1
    [XPM Support] => 
    [XBM Support] => 1
    [JIS-mapped Japanese Font Support] => 
)

 

Verschlüsseltes Passwort überprüfen

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Verschlüsseltes Passwort überprüfen

$passwort "ichbins";
$passwort md5($passwort); // Schlüssel: 30249aeb083a6758 ...

// Der Schlüssel wird zum Beispiel von einer Datei eingelesen
// und mit der Passwort-Eingabe verglichen

if (md5($passwort_eingabe) == $passwort) {
 echo 
"Das Passwort ist richtig.";
}
else {
 echo 
"Das Passwort ist falsch.";
}
?>

 

Text kontinuierlich mit einer for-Schleife zoomen

1
2
3
4
5
6
7
8
9
<?php
// Text kontinuierlich mit einer for-Schleife zoomen

for ($zaehler 0$font_size 8$zaehler <10$zaehler++) {
 echo 
'<div style="font-size: ' $font_size 'px;">
Text kontinuierlich zoomen</div>'
;
$font_size += 2;
}
?>
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen
Text kontinuierlich zoomen

 

Zufällige Textausgabe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Zufällige Textausgabe

$automarke = array(
"Mercedes",
"Seat",
"Volkswagen",
"Opel",
"BMW",
"Audi"//
);

$zufall mt_rand(0count($automarke)-1);
echo 
$automarke[$zufall];
?>

 

Den Array-Inhalt in einer Tabelle aufteilen

3 = Spaltenanzahl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<table border="1">
 <tr>

<?php 
// Den Array-Inhalt in einer HTML-Tabelle aufteilen

$filme = array(1=>"Tarzan""King Kong""Casablanca",
 
"Titanic""Star Wars""Jurassic Park",
 
"12 Uhr mittags""Der Herr der Ringe""Spiderman");

foreach (
$filme as $zaehler => $element) {
 
$spaltenende = ($zaehler 3) ? "" "</tr>\<tr>";
 echo 
"<td>$element "</td> " $spaltenende "";
}
?>

 </tr>
</table>
Tarzan King Kong Casablanca
Titanic Star Wars Jurassic Park
12 Uhr mittags Der Herr der Ringe Spiderman

 

Zwei Ziffern - Führende Null an eine einzelne Zahl anhängen

Dieses PHP-Script gibt Zufallszahlen zwischen 1 und 15 aus.
Es überprüft ob die Zufallszahl aus zwei Ziffern besteht.
Wenn nicht, wird eine führende Null hinzugefügt.
Siehe auch: Zahlen zweistellig ausgeben und Eine Ziffer entfernen
Zahl erweitern
1
2
3
4
5
6
7
8
9
10
11
<?php 
// Zwei Ziffern - Führende Null an eine einzelne Zahl anhängen
for ($0$< 10$a++) {
  
$Zufallszahl=mt_rand(1,15);
 echo 
ZweiZiffern($Zufallszahl) . "  - ";
}

function 
ZweiZiffern($x) {
 return(((
$< 10) ? "0" "").$x);
}
?>
Ausgabe: 14 - 13 - 04 - 10 - 14 - 02 - 08 - 09 - 10 - 03 -

 

Zufallstext von einer externen Datei ausgeben

1
2
3
4
5
6
7
<?php
// Zufallstext von einer externen Datei ausgeben

srand((double)microtime()*1000000);
$ausgabe preg_split("/--NEXT--/",join('',file("datei.txt")));
echo 
$ausgabe[rand(0,sizeof($ausgabe)-1)]; 
?>
Die Datei (datei.txt) muß folgendes Format haben:
Text 1
--NEXT--
Text 2
--NEXT--
Text 3
...

 

Sonnenauf.- und Sonnenuntergang berechnen (ab PHP 5)

Die geografische Länge und Breite des Standorts können Sie zum Beispiel mit dem Programm "Google Earth" ermitteln!

geo. Breite (48.25 - bei "Google Earth" steht z.B.: 48°25'...)
geo. Länge (11.57 - bei "Google Earth" steht z.B.: 11°57'...)
Zenit ~= 90° (Differenzanpassung (+/- Grad) z.B. in den Bergen oder auf Hochhäusern notwendig)
<?php
// Sonnenauf.- und Sonnenuntergang berechnen
// PHP 5
echo "<b>" . date("d.m.Y - H:i") . " Uhr</b><br> Sonnenaufgang: " .
 date_sunrise(time(), SUNFUNCS_RET_STRING, 48.25, 11.57, 90, date("O")/100) . " Uhr";

echo "<br>";

echo "Sonnenuntergang: " .
 date_sunset(time(), SUNFUNCS_RET_STRING, 48.25, 11.57, 90, date("O")/100) . " Uhr";
?>
04.02.2012 - 06:46 Uhr
Sonnenaufgang: 07:49 Uhr
Sonnenuntergang: 17:13 Uhr

 

Sternzeichen ausgeben

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
//  Sternzeichen ausgeben

function Sternzeichen($t,$m,$j) {
 
$tag date("d",mktime(0,0,0,$m,$t,$j));
 
$monat date("n",mktime(0,0,0,$m,$t,$j));
 if (
$tag > 20 && $monat == || $tag < 21 && $monat == 4) {
  
$zeichen "WIDDER (21.3.$j - 20.4.$j)";
 }
 if (
$tag > 20 && $monat == || $tag < 21 && $monat == 5) {
  
$zeichen "STIER (21.4.$j - 20.5.$j)";
 }
 if (
$tag > 20 && $monat == || $tag < 22 && $monat == 6) {
  
$zeichen "ZWILINGE (21.5.$j - 21.6.$j)";
 }
 if (
$tag > 21 && $monat == || $tag < 23 && $monat == 7) {
  
$zeichen "KREBS (22.6.$j - 22.7.$j)";
 }
 if (
$tag > 22 && $monat == || $tag < 24 && $monat == 8) {
  
$zeichen "LÖWE (23.7.$j - 23.8.$j)";
 }
 if (
$tag > 23 && $monat == || $tag < 24 && $monat == 9) {
  
$zeichen "JUNGFRAU (24.8.$j - 23.9.$j)";
 }
 if (
$tag > 23 && $monat == || $tag < 24 && $monat == 10) {
  
$zeichen "WAAGE (24.9.$j - 23.10.$j)";
 }
 if (
$tag > 23 && $monat == 10 || $tag < 23 && $monat == 11) {
  
$zeichen "SKORPION (24.10.$j - 22.11.$j)";
 }
 if (
$tag > 22 && $monat == 11 || $tag < 22 && $monat == 12) {
  
$zeichen "SCHÜTZE (23.11.$j - 21.12.$j)";
 }
 if (
$tag > 21 && $monat == 12 || $tag < 21 && $monat == 1) {
  
$zeichen "STEINBOCK (22.12.$j - 20.1.".($j+1).")";
 }
 if (
$tag > 20 && $monat == || $tag < 20 && $monat == 2) {
  
$zeichen "WASSERMANN (21.1.$j - 19.2.$j)";
 }
 if (
$tag > 19 && $monat == || $tag < 21 && $monat == 3) {
  
$zeichen "FISCHE (20.2.$j - 20.3.$j)";
 }
 return 
"<b>Sternzeichen:</b> ".$zeichen;
}

$tag 25;
$monat =  09;
$jahr 2010;

echo 
Sternzeichen($tag,$monat,$jahr);
?>

 

Zufallsbanner mit PHP

1
2
3
4
5
6
7
<?php 
//  Zufallsbanner mit PHP
$banner = array('banner1.jpg''banner2.jpg',
 
'banner3.jpg''banner4.jpg');
echo 
'<a href="#"><img src="' .
 
$banner[rand(0, (count($banner)-1))] . '"></a>';
?>

 

Die aktuelle Seite in der Navigation hervorheben

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// Die aktuelle Seite in der Navigation hervorheben

$titel explode("/","$_SERVER[SCRIPT_NAME]");
$file explode('.',$titel[count($titel)-1]);

if (
$file[0] == "gaestebuch") { // Dateiname (Angabe ohne Dateiendung)
 
echo '<b>Gästebuch</b> <br>';
}
else {
 echo 
'<a href="gaestebuch.php">Gästebuch</a> <br>';
}

if (
$file[0] == "forum") { // Dateiname (Angabe ohne Dateiendung)
 
echo '<b>Forum</b> <br>';
}
else {
 echo 
'<a href="forum.php">Forum</a> <br>';
}
?>
Beispiel 2:
1
2
3
4
5
6
7
8
9
10
11
<?php
// Die aktuelle Seite in der Navigation hervorheben (Beispiel 2)

$datei explode("/"$_SERVER["SCRIPT_NAME"]);
$datei end($datei);

echo (
$datei == "gaestebuch.php" "<b>Gästebuch</b>"
 
'<a href="gaestebuch.php">Gästebuch</a>') . ' <br>';
echo (
$datei == "forum.php" "<b>Forum</b>'<a href="forum.php">Forum</a>') . ' <br>';
echo (
$datei == "links.php" "<b>Links</b>'<a href="links.php">Links</a>') . ' <br>';
?>
Beispiel 3:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Die aktuelle Seite in der Navigation hervorheben (Beispiel 3)

$nav_pfad pathInfo($_SERVER["SCRIPT_NAME"]);
$nav_datei = array(
 
"Startseite|index.php",
 
"Spass|spass.php",
 
"Hobby|hobby.php",
 
"Info|info.php",
 
"Suche|suche.php");

foreach (
$nav_datei as $zaehler => $element) {
 list(
$nav_name$nav_link) = explode("|"$element);
 echo ((
$nav_link == $nav_pfad["basename"]) ? $nav_name
 
"<a href=\"$nav_link\">$nav_name</a>") . 
  ((
$zaehler < (count($nav_datei) -1)) ? " - \n" "\n");
}
?>
Ausgabebeispiel: Startseite - Spass - Hobby - Info - Suche

Beispiel 4: von Marcel Schulz
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// Die aktuelle Seite in der Navigation hervorheben (Beispiel 4)

$nav_pfad pathInfo($_SERVER["REQUEST_URI"]);
$nav_datei = array(
 
"Startseite|index.php?site=1",
 
"Spass|index.php?site=2");

foreach (
$nav_datei as $zaehler => $element) {
 list(
$nav_name$nav_link) = explode("|"$element);
 echo ((
$nav_link == $nav_pfad["basename"]) ? $nav_name
 
"<a href=\"$nav_link\">$nav_name</a>") . 
  ((
$zaehler < (count($nav_datei) -1)) ? " - \n" "\n");
}
?>

 

Dateierweiterung (Dateiendung) überprüfen

1
2
3
4
5
6
7
8
9
10
11
12
<?php
// Dateierweiterung überprüfen

$dateiname "hallo.htm";
$akzept_dateierweiterungen = array('jpg','jpeg','gif','png','txt','html','htm');
$erweiterung explode("."$dateiname);
$dateierweiterung strtolower($erweiterung[sizeof($erweiterung)-1]);

if (
in_array($dateierweiterung$akzept_dateierweiterungen)) {
 
// Weitere Anweisungen
}
?>

 

Bild proportional zur Breite verkleinern

Oft sind Bilder die in einem Forum von Besuchern eingebunden werden zu groß.
Diese Funktion skaliert ein Bild auf die maximale Breite.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
// Bild proportional zur Breite verkleinern

function bild_skalieren($bild) {
$size GetImageSize ($bild); // Bild einlesen
$imagewidth $size[0]; // Breite auslesen
$imageheight $size[1]; // Höhe auslesen

$maxwidth "640"// Maximale Breite des Bildes

// Überprüfung ob das Bild zu groß ist, wenn ja wird die
// entsprechende Höhe zur angegebenen Breite berechnet.
if ($imagewidth > $maxwidth) {
$imageprop $maxwidth/$imagewidth;
$imagevsize $imageheight*$imageprop;
$imagewidth $maxwidth;
$imageheightceil($imagevsize);
}

// Bild anzeigen
return "<img src=\"$bild\" width=\"$imagewidth\" height=\"$imageheight\">";
}

echo 
bild_skalieren("bild.jpg");
?>
Beispiel:  

 

Wort in einem Text markieren

1
2
3
4
5
6
<?php
// Wort in einem Text markieren
$text "Lorem ipsum dolor sit amet Ullamcorper nibh auctor";
$markierung "Ullamcorper";
echo 
str_replace($markierung"<b>$markierung</b>"$text);
?>
Beispiel:   Lorem ipsum dolor sit amet Ullamcorper nibh auctor

 

Datei nach abgelaufener Zeit verschieben

Autor: Forrest Gumb
Format des Dateinamen: DD_MM_YYYY - Das Datum im Dateinamen muss immer
10-stellig eingegeben werden. Beispiel: 04_02_2012.gif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$verzeichnis 
openDir("bildergigs");
while (
$file readDir($verzeichnis)) {
 if (
$file != "." && $file != "..") {
  
$bildname explode("." $file);
  
$datum explode("_" $bildname[0]);

 if (
$datum[0< date("d",time()) && $datum[1<date("m",time()) && $datum[2<date("Y",time())) {
   
copy("bildergigs/$file" "bilderarchiv/$file");
   
unlink("bildergigs/$file");
  }

  elseif (
$datum[1< date("m",time()) && $datum[2<date("Y",time())) {
   
copy("bildergigs/$file" "bilderarchiv/$file");
   
unlink("bildergigs/$file");
  } 

  elseif (
$datum[2< date("Y",time())) {
   
copy("bildergigs/$file" "bilderarchiv/$file");
   
unlink("bildergigs/$file"); 
  }

 }
}
closeDir($verzeichnis);
?>


Datei nach abgelaufener Zeit verschieben - Beispiel 2
Format des Dateinamen: DD.MM.YY
Beispiel: 04.02.12.gif - Das Datum im Dateinamen muss immer 8-stellig eingegeben werden,
die Dateiendung (.gif, .jpg oder .txt) spielt dabei keine Rolle!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
// Datei nach abgelaufener Zeit verschieben
$verzeichnis openDir("ordner1"); // Öffnet Unterverzeichnis "ordner1" 
while ($datei readDir($verzeichnis)) {
 if (
$datei != "." && $datei != "..") {
  if (
date("d.m.y">substr($datei08)) {
   
copy("ordner1/$datei" "ordner2/$datei"); // Kopiert die Datei vom Unterverzeichnis -
    // "ordner1" ins Unterverzeichnis  "ordner2" 
   
unlink("ordner1/$datei"); // Löscht die Datei im Unterverzeichnis "ordner1" 
  
}
 }
}
closeDir($verzeichnis); 
?>

 

Aktuelle Seite herunterladen

Mit dieser Funktion kann man eine Seite auf dem PC herunterladen.
Wichtig: Der folgende PHP-Quelltext gehört an den Anfang der Seite.
Achten Sie darauf das vor dem Quelltext keine Zeichen (auch keine Leerzeichen)
angegeben sind, sonst funktioniert das nicht.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Aktuelle Seite herunterladen
if ($_GET) {
 if (isset(
$_GET["herunterladen"])) {
  
header("Content-Type: application/octetstream");
  
header("Content-Disposition: " 
   (!
strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 5.5")?"attachment; ":"") .
 
"filename=".$_GET["herunterladen"]);
  
header("Content-Transfer-Encoding: binary");
  
header("Cache-Control: post-check=0, pre-check=0");
 }
}
?>

Link zum aufrufen des Downloads: 

<a href="<?php echo $_SERVER["SCRIPT_NAME"?>?herunterladen=<?php $url explode("/",$_SERVER["SCRIPT_NAME"]); $url explode('.',$url[count($url)-1]); echo $url[0].".htm"?>">
Seite herunterladen</a>

 

Seitentitel der aktuellen Seite auslesen

1
2
3
4
5
6
7
<?php
// Seitentitel der aktuellen Seite auslesen

preg_match("/<title>(.*)<\/title>/",
 
file_get_contents(basename($_SERVER["SCRIPT_NAME"])), $titel);
echo 
$titel[1];
?>

 

Trinitätsoperator

Trinitätsoperator (Short Conditional if-Anweisungen)
1
2
3
4
5
6
7
8
9
<?php
// Trinitätsoperator (Short Conditional if-Anweisungen) 

$Zahl1 55;
$Zahl2 50;
$Summe $Zahl1 $Zahl2;
 echo (
$Summe > 100) ? "Die Summe ist größer als 100." :
 
"Die Summe ist kleiner als 100.";
?>

 

Auswahlliste für Tage- und Wochenauswahl

Diese Auswahlliste fügt jeden siebten Tag die Anzahl der Wochen hinzu.
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// Auswahlliste für Tage- und Wochenauswahl
echo "<select>\n";
for (
$zaehler 1$zaehler <365$zaehler++) {
 echo 
<option value=\"$zaehler\">$zaehler";
 if (
$zaehler == false) {
  echo 
" / " . ($zaehler/7);
 }
 echo 
"</option>\n";
}
echo 
"</select> Tage / Wochen\n";
?>
Beispiel: Tage / Wochen

 



© 2000-2012 Homepage-Total.de         KontaktImpressumBanner