php

Transliteration Beispiele für alle mögliche Systeme

Submitted by Gast (nicht überprüft) on Mi, 07/26/2017 - 23:40

Hier sind mehrere Beispiele, wie die Zeichenumwandlung funktioniert.

PHP-Code:

<?php

 $str = "Wir wollen testen, wie sich Alles ändert. Umlaute wie ÄäÖöÜü und ß sind dabei. ";

foreach( transliterator_list_ids() as $v){
    echo "<h2>$v</h2><p>Original: $str</p>Transliteration: ";
    echo transliterator_transliterate($v, $str);
    
}

?>

Beispiele:

 

 

ASCII-Latin

Original: Wir wollen testen, wie sich Alles ändert. Umlaute wie ÄäÖöÜü und ß sind dabei.

Ein PHP-Script in sich selber (mit Hilfe von Shell) mehrmals aufrufen

Submitted by Gast (nicht überprüft) on Mo, 07/03/2017 - 21:59

Shell/Cronjob:

/usr/bin/php /home/meineseite/test.php --repeat='123'

<?php

 

$shellArgs = getopt('', ["repeat:", "optional2::"] );
$repeat = $shellArgs['repeat'];

for( $i=0; $i<$repeat; $i++){
    if( $i > 5) break; # Endlos-Schleife verhindern
    shell_exec("/usr/bin/php " . __FILE__ );
}

# weitere PHP-Code für üblichen Ablauf

 

Class Verkettung

Submitted by Gast (nicht überprüft) on Mo, 07/03/2017 - 14:10

class a {
    var $str = 0;
    function b(){
        echo $this->str++ . ' ';    
        return $this;
    }
}

$a = new a();
$a->b()->b()->b()->b()->b()->b()->b()->b()->b()->b()->b()->b()->b();
echo $a->str;

Wichtig ist, dass die Rückgabewert selber eine Klasse ist.

PHP Warning: geoip_org_by_name(): Required database not available at /usr/share/GeoIP/GeoIPOrg.dat

Submitted by Gast (nicht überprüft) on So, 06/18/2017 - 21:28

Ich bekomme diesen Fehler:

PHP Warning:  geoip_org_by_name(): Required database not available at /usr/share/GeoIP/GeoIPOrg.dat

 

Mein PHP-Script:

<?php

        $geoip_country_name_by_name     = geoip_country_name_by_name( $ip );
        $geoip_org_by_name                 = geoip_org_by_name( $ip );
        $geoip_domain_by_name             = geoip_domain_by_name( $ip );

?>

GEOIP (PHP-PECL) auf Debian Server installieren

Submitted by Gast (nicht überprüft) on Fr, 06/16/2017 - 21:42

Damit man GEOIP-PECL auf Debian zum laufen bringt:

  1. apt-get install geoip-bin geoip-database libgeoip-dev
     
  2. pecl install geoip
     
  3. Eintrag in php.ini: extension=geoip.so

Danach Apache neu starten oder Konfigurationsdatei neu laden.

<?php

echo geoip_country_code_by_name (  $ip );

// Ausgabe sollte zweistellige Ländercode wie DE oder ähnliches sein.

?>