Benutzer-Werkzeuge

Webseiten-Werkzeuge



programming:php

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
programming:php [2021/01/16 11:26] – [parameter in GET] frankprogramming:php [2023/06/08 17:06] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 +====== PHP ======
 +===== Fehleranzeige =====
 +<code php>
 +error_reporting(E_ALL);
 +ini_set('display_errors', '1');
 +</code>
 +
 +Fehler vom Typ "Fatal" (z.b. Syntaxfehler) werden trotzdem nicht angezeigt, wenn diese im aufgerufenen Script sind. Abhilfe schafft ein zusätzliches Script, in welches das fehlerhafte Script eingebunden wird.
 +
 +<code php>
 +error_reporting(E_ALL);
 +ini_set('display_errors', '1');
 +include('fehler.php');
 +</code>
 +===== Parameter auslesen =====
 +<code php>
 +  $filter="";
 +  if (isset($_POST["filter"]))
 +    $filter=$_POST["filter"];
 +  else if (isset($_GET["filter"]))
 +    $filter=$_GET["filter"];
 +  $filter_a=array();
 +  if ($filter)$filter_a=preg_split("/,/",$filter);
 +</code>
 +
 +===== CLI =====
 +
 +cli-Parameter in GET:
 +
 +<code php>
 +//https://stackoverflow.com/a/41395102
 +if (!empty($argv[1])) { 
 +  //parse_str($argv[1], $_GET); //arg1=1&arg2=2
 +  //https://www.php.net/manual/de/features.commandline.php
 +  parse_str(implode('&', array_slice($argv, 1)), $_GET);//a=1 b[]=2 b[]=3
 +}
 +</code>
 +
 +===== Datumsanzeige =====
 +
 +<code php>
 +//set to german language
 +setlocale(LC_ALL, "de_DE");
 +//setlocale(LC_TIME, "de_DE");
 +
 +$datestr=date("Y-m-d");
 +
 +$date=strtotime($datestr);
 +$weekday=strftime("%a",$date);
 +$day=strftime("%x",$date);
 +
 +echo $weekday." ".$day."<br />\n";
 +</code>
 +
 +https://stackoverflow.com/a/40894547
 +===== Datumsrechnung =====
 +<code php>
 +if ($endtime=="0000-00-00 00:00:00") {$endtime=strftime("%Y-%m-%d %H:%M:%S",strtotime('+1 day',strtotime($starttime)));}
 +if ($endtime=="0000-00-00 00:00:00") {$endtime=strftime("%Y-%m-%d %H:%M:%S",strtotime('+24 hour',strtotime($starttime)));}
 +
 +$endTime = strtotime("+15 minutes", strtotime($selectedTime));
 +</code>
 +
 +
 +===== mehrstufige Sortierung =====
 +(3fach,2stellig,Trennzeichen /) 
 +<code php>
 +function port_cmp($a, $b)
 +{
 +  $a_a=preg_split("/\//",$a); //Werte nach Trennzeichen (hier /) trennen
 +  $a_b=preg_split("/\//",$b);
 +
 +  $a_a[]="0";//sicherstellen, dass mindestens 3 Einträge im array sind
 +  $a_b[]="0";
 +  $a=sprintf("%02d%02d%02d",$a_a[0],$a_a[1],$a_a[2]); //2-stellig (führende 0) alle 3 Werte hintereinander
 +  $b=sprintf("%02d%02d%02d",$a_b[0],$a_b[1],$a_b[2]);
 +
 +  //If a = b, return 0, If a > b, return 1, If a < b, return -1
 +  if (intval($a)==intval($b))
 +    return 0;
 +  else if (intval($a)>intval($b))
 +    return 1;
 +  else return -1;
 +}
 +
 +uksort($ports,"port_cmp");//user-key-sort
 +</code>