Home

PHP Code

Projekte

PHP Nachhilfe

Software

ISP Dienste

Sponsoring

Kontakt

Downloads

Impressum

Diese Seite beinhaltet:

Content komprimiert an den Browser senden

Dynamisches Copyright

.zip Archive erstellen

.zip Archive entpacken

Email Adresse überprüfen

Passwort Stärke prüfen

Browser und Proxy Cache verhindern

Auto Backup für Ihre Homepage z.B. auf 'Free Webspace'




Content komprimiert an den Browser senden
So kann man den HTML Code und alles andere komprimiert an den User senden, das spart Zeit und Traffic so eine Komprimierung kann die Datenmenge um bis zu 90% und mehr verringern neuere Browser unterstützen das. Keine Sorge die Seite wird in jedem Fall übertragen!

<?php
// Test ob Server zlib hat    --    Test ob der Browser gzip entpacken kann 
if(extension_loaded("zlib") AND strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip"))
    @
ob_start("ob_gzhandler");//Start Komprimierung
    ##Hier dein Code##
?>
Dynamisches Copyright
Damit bleibt die Jahreszahl immer aktuell

<?php
echo 'Copyright &#169; 2005 - '.date(\"Y\", time()).' by Blue-Coding.de';
?>
.zip Archive erstellen
Ordner und Dateien zu .zip Packen PHP 4 benötigt ZZIPlib PHP 5.2.0 or later benötigt zlib

<?php
$path 
realpath('data/files'); // Pfad+ Order/Datei der/die gepackt werden soll
$archiv_zip    'datei.zip';// Name des .zip Archiv (erstellen automatisch)

$archiv = new ZipArchive();
$archiv->open($archiv_zipZipArchive::CREATE);
$diriter = new RecursiveDirectoryIterator($path);
$Iterator = new RecursiveIteratorIterator($diriter);
 
foreach(
$Iterator as $element) {
    
$dir str_replace($path''$element->getPath()) . '/';
    if(
$element->isDir()){// falls ein Ordner archivirt werden soll
        
$archiv->addEmptyDir($dir);// Ordner erstellen
    
} elseif ($element->isFile()) {// falls eine Datei archivirt werden soll
        
$file $element->getPath().'/'.$element->getFilename();
        
$fileInArchiv $direlement->getFilename();
        
$archiv->addFile($file$fileInArchiv);// Datei zum Archiv hinzufügen
    
}
}

$archiv->setArchiveComment('Backup von ' $path);// Kommentar für die .zip
 
$archiv->close();
?>
.zip Archive entpacken
PHP 4 benötigt ZZIPlib PHP 5.2.0 or later benötigt zlib

<?php
$destinationPath 
realpath('tmp/');// entpacken nach.. Pfad
$zipfile 'archiv.zip';

$archiv = new ZipArchive();
$archiv->open($zipfile);
$archiv->extractTo($destinationPath);
?>                                                
Email Adresse überprüfen
so können Mail Adressen auf ihre Gültigkeit überprüft werden richtiger Syntax und erreichbarkeit der domain

<?php
$mail_addr 
"test@example.com";
// Schema der Adresse prüfen   text-zahl-zeichen  @ text-zahl . text
if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-öäü]+\.([a-zA-Z0-9-]{2,4})$",$mail_addr)) {
    return 
FALSE;
} else {
    list(
$user$host) = explode("@"$mail_addr);// domain raus nehmen
    
if(checkdnsrr($host"MX") or checkdnsrr($host"A")) { // Domain prüfen
        
return TRUE;
    } else {
        return 
FALSE;
    }
}
?>
Passwort Stärke prüfen
so können Passwörter auf ihre Stärke geprüft werden PHP muss dazu mit –with-crack=/pfad/zu/cracklib kompiliert sein! es gibt folgende Rückgabewerte:
it is based on a dictionary word
it is based on a (reversed) dictionary word
it’s WAY too short
it is too short
it does not contain enough DIFFERENT characters
it is all whitespace
it is too simplistic/systematic
it looks like a National Insurance number

<?php
 $dictionary 
crack_opendict("/pfad/zur/cracklibdict/cracklib_dict");// Wörterbuch laden
 
$check crack_check($dictionary$password);// $password prüfen
 
echo crack_getlastmessage(); // Rückgabe
 
crack_closedict($dictionary); // Wörterbuch schliessen
?>
Browser und Proxy Cache verhindern
um zu verhindern das die Seite im Browser Cache des Users oder Proxy gespeichert wird
funktioniert nicht immer aber in 99% aller Fälle
wichtig! header Funktionen kommen immer an den Anfang des Script da es sonst zu Fehlermeldungen kommt

<?php
// Die 'Laufzeit' der Datei wird auf den 2.1.1850
header("Expires: Mon, 2 Jan 1850 01:01:01 GMT");
// Der 'Last-Modified' Parameter wird auf das aktuelle Datum gesetzt.
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
// Diese zeilen sind für die Proxy Server
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
// euer Code...
?>
Auto Backup für Ihre Homepage z.B. auf 'Free Webspace'
Dieses Stück Code macht z.B. aus deiner Homepage eine .zip Datei und lädt sie auf einen FTP Server. gut geegnet dafür sind Free Webspaces, bei Größeren Daten Mengen könnte man die .zip noch Splitten es gibt Anbieter die kostenlos einen unlimitierten Webspace anbieten wo die Dateien aber nur 5 MB groß sein dürfen erfordert PclZip Class

<?php
$b_name            
"backup";        //Name der Backup Datei
$local_destin     "./";         //lokales Backup Ziel

$local_source     = array("cache.txt",    //Backup Quelle(n) 
                        
"images"        //Dateien und oder Ordner
                        
"filter.txt");

$ftp_host        "127.0.0.1";    //FTP Host
$ftp_user        "user";        //FTP User
$ftp_pass        "passwort";    //FTP Passwort
$ftp_dest        "bb/";        //FTP Server Ziel Beispiel zeigt: homeverzeichnis/bb

// Upload Funktion
function ftp_upload($quelle$ziel) {
    
    global 
$ftp_host,$ftp_user,$ftp_pass,$ftp_dest,$b_name;
    
    
$conn_id ftp_connect($ftp_host);
    
$login_result ftp_login($conn_id$ftp_user$ftp_pass);
    
    if ((!
$conn_id) OR (!$login_result)) {
        return 
"FTP connection error<br>";
        die;
    } else {
        
$result "FTP connection ok<br>";
        
        if (!
ftp_put($conn_id$quelle$zielFTP_BINARY)) {
            return 
$result."FTP upload error<br>";
        } else {
            return 
$result."FTP upload ok<br>";
        }
    }
    
ftp_close($conn_id);
}

//Dateien komprimieren
    
require_once('pclzip.lib.php');
    
$zip = new PclZip($local_destin.$b_name.".zip");

    if(
$zip->create($local_source)){
        
$quelle $ftp_dest.$b_name.'.zip';
        
$ziel     $local_destin.$b_name.'.zip';
        echo 
'packen ok <br>'.ftp_upload($quelle$ziel); 
    }else{echo 
'packen error';}
?>

Back