Zuletzt bearbeitet vor einem Monat
von Xineohp1506

PHP Schnipsel

Version vom 9. Januar 2023, 14:48 Uhr von Xineohp1506 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==truncate== <syntaxhighlight lang="php"> function truncateWords($input, $numwords, $padding="") { $output = strtok($input, " \n"); while(--$numwords > 0) $output .= " " . strtok(" \n"); if($output != $input) $output .= $padding; return $output; } $description = strip_tags(render($field_nachricht)); $shortdesc = truncateWords($description, 10, "..."); echo "$shortdesc"; </syntaxhighlight> == alle Globalen Variablen ausgeben ==…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

truncate

function truncateWords($input, $numwords, $padding="")
  {
    $output = strtok($input, " \n");
    while(--$numwords > 0) $output .= " " . strtok(" \n");
    if($output != $input) $output .= $padding;
    return $output;
  }
  $description = strip_tags(render($field_nachricht));
  $shortdesc = truncateWords($description, 10, "...");
  echo "$shortdesc";


alle Globalen Variablen ausgeben

echo '<pre>';
  print_r($GLOBALS);
echo '</pre>';


alle belegten Variablen ausgeben

echo '<pre>';
  print_r(get_defined_vars()); 
echo '</pre>';


Dezimalzahl als Bruch darstellen

function decToFrac($float) {
    $whole = floor ( $float );
    $decimal = $float - $whole;
    $leastCommonDenom = 48;
    $denominators = array (2, 3, 4, 8, 16, 24, 48 );
    $roundedDecimal = round ( $decimal * $leastCommonDenom ) / $leastCommonDenom;
    if ($roundedDecimal == 0)
        return $whole;
    if ($roundedDecimal == 1)
        return $whole + 1;
    foreach ( $denominators as $d ) {
        if ($roundedDecimal * $d == floor ( $roundedDecimal * $d )) {
            $denom = $d;
            break;
        }
    }
    return ($whole == 0 ? '' : $whole) . " " . ($roundedDecimal * $denom) . "/" . $denom;
}

php HTTP to HTTPS

if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == ""){
 
$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
 header("Location: $redirect");
 
}


Funktion zur Berechnung der vergangen Zeit

/**
* Quick'n'Dirty Funktion zur Zeitberechnung
*
* PHP version 5.4
*
* Eine simple Funktion zur Berechnung der vergangen Zeit
* von einem bestimmten Datum ausgehend. Die Eingabe erfolgt
* dabei in der Form Jahr-Monat-Tag (JJJJ-MM-TT).
* Die Ausgabe erfolgt als Array welcher Jahr (years),
* Monate (months), Wochen (weeks) und Tage (days)
* als Zahlenwerte zur Verfügung stellt.
*
* @param    string $input Startdatum in der Form JJJJ-MM-TT
* @return   array
* @author   BlackRocket <sebastian@brcs.eu>
* @version  1.0
* @license  GNU General Public License, version 3
* @license  http://opensource.org/licenses/gpl-license.php GNU Public License
*/
function timecalc($input)
{
  date_default_timezone_set("Europe/Berlin");
  $date_input = new DateTime($input);
  $date_now = new DateTime("now");
  $interval = $date_now ->diff($date_input);
  $weeks = floor($interval->format('%d') / 7);
  $days = ($interval->format("%d") % 7);
  $outputY = $interval->format("%Y");
  $outputM = $interval->format("%m");
  $outputW = $interval->format($weeks);
  $outputD = $interval->format($days);
  return array( 'years' => $outputY, 'months' => $outputM, 'weeks' => $outputW, 'days' => $outputD );
}


Website Screenshot via PageSpeed Insights API

/**
 * Screenshot einer Website via PageSpeed Insights API
 *
 * Diese Funktion holt sich den Screenshot einer Website aus der 
 * Datei JSON welche von der PageSpeed Insights API zur Verfügung 
 * gestellt wird. Im Gegensatz zu anderen Webshot Services ist  
 * der von Google kostenlos. Eine Einschränkung erfolgt nur seitens 
 * der Limitierung und der maximal Auflösung von 320x240 Pixel 
 *
 * Die Funktion holt nur einen  Screenshot wenn  die Datei noch 
 * nicht vorhanden ist oder der $new Parameter übergeben wird.
 *
 * @param   string $name Name des Screenshorts, ohne Dateiendung 
 * @param   string $url URL der Website
 * @param   string $apikey Google API key
 * @param   string $new (optional) 'yes' erzwingt neuen Screenshot
 * @param   string $savelocation (optional) Speicherort für den Screenshot
 * @return  null
 * @author  BlackRocket <sebastian@brcs.eu>
 * @version 1.0
 * @license GNU General Public License, version 3
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 */
function GoScreenshot($name, $url, $apikey, $new = NULL, $savelocation = NULL)
{
  $screenshot = (is_null($savelocation)) ? $name.'.jpg' : $savelocation.$name.'.jpg';
  if (!file_exists($screenshot) || $new == 'yes') {
    $test_url   = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=desktop&screenshot=true&url=$url&key=$apikey";
    $result     = file_get_contents($test_url);
    $result     = json_decode($result,true);
    $data       = str_replace('_','/',$result['screenshot']['data']);
    $data       = str_replace('-','+',$data);
    $decoded    = base64_decode($data);
    file_put_contents($screenshot,$decoded);
  }
}

randnum

$my_array = array('2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5','2','3','4','5');
shuffle($my_array);
print implode('',$my_array);