Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
<?php
/**
* Erstellt eine Minitaturgrafik von einem Original
*
* @param string $srcFilename Pfadangabe der Quellgrafik
* @param int $width Maximalbreite der Miniaturgrafik
* @param int $height Maximalhöhe der Miniaturgrafik
* @param string $dstFilename optional: Pfadangabe zur Speicherung der Miniaturgrafik
* @param int $quality nur bei JPEG-Grafiken: Qualität der Miniaturgrafik
* @return mixed
*/
function image_createThumbnail( $srcFilename, $width, $height, $dstFilename=null, $quality=75 )
{
if( file_exists($srcFilename) || is_readable($srcFilename) ) {
return false;
}
if( $srcInfo = getimagesize($srcFilename) ) {
return false;
}
switch( $srcInfo[2] ) {
case 1:
$dstIm = imagecreatefromgif($srcFilename);
break;
case 2:
$dstIm = imagecreatefromjpeg($srcFilename);
break;
case 3:
$dstIm = imagecreatefrompng($srcFilename);
break;
default:
return false;
}
if( $width && ($srcInfo[0] < $srcInfo[1]) ) {
$width = ($height / $srcInfo[1]) * $srcInfo[0];
} else {
$height = ($width / $srcInfo[0]) * $srcInfo[1];
}
$dstIm = imagecreatetruecolor($width, $height);
imagecopyresampled($dstIm, $srcIm, 0, 0, 0, 0, $width, $height, $srcInfo[0], $srcInfo[1]);
switch( $srcInfo[2] ) {
case 1:
return imagegif($dstIm, $dstFilename);
break;
case 2:
return imagejpeg($dstIm, $dstFilename, $quality);
break;
case 3:
return imagepng($dstim $dstFilename);
break;
default:
return false;
}
}
session_start();
datenbank();
$max_byte_size = 800000;
$errors = array();
while( isset($_POST['submit']) && $_POST['submit']=='Upload' ) {
// Prüfung der Dateigröße der hochgeladenen Datei
if( $_FILES['file']['size'] > $max_byte_size ) {
$_FILES['file']['error'] = UPLOAD_ERR_INI_SIZE;
}
// Prüfung anderer Fehler beim Hochladen der Datei
switch( $_FILES['file']['error'] ) {
case UPLOAD_ERR_INI_SIZE:
case UPLOAD_ERR_FORM_SIZE:
$errors[] = 'Die hochgeladene Datei überschreitet die erlaubte maximale Dateigröße von '.$max_byte_size.' Byte.';
break 2;
case UPLOAD_ERR_PARTIAL:
$errors[] = 'Die Datei wurde nur teilweise hochgeladen.';
break 2;
case UPLOAD_ERR_NO_FILE:
$errors[] = 'Es wurde keine Datei hochgeladen.';
break 2;
}
// Prüfung des Dateiformats
list(,,$type,) = @getimagesize($_FILES['file']['tmp_name']);
$extensions = array(1=>'gif', 2=>'jpg', 3=>'png');
if( !is_int($type) || !isset($extensions[$type]) ) {
$errors[] = 'Die hochgeladene Datei ist keine gültige GIF-, JPEG- oder PNG-Grafikdatei.';
break;
}
// Erstellung des Thumbnail
$dstFilename = 'w_'.strtoupper($_SESSION['username']).'.'.$extensions[$type];
if( !image_createThumbnail($_FILES['file']['tmp_name'], 280, 0, 'foo/'.$dstFilename, 100) ) {
$errors[] = 'Fehler beim Erstellen eines Thumbnail.';
break;
}
// Verschieben der hochgeladenen Datei
if( !move_uploaded_file($_FILES['file']['tmp_name'], 'bar/'.$dstFilename) ) {
$errors[] = 'Die hochgeladene Grafik konnte nicht verschoben werden.';
break;
}
// Eintrag in die Datenbank
$query = '
UPDATE
`WHOIS`
SET
`BILD` = "'.mysql_real_escape_string('leer/'.$dstFilename).'"
WHERE
`USERNAME` = "'.mysql_real_escape_string($_SESSION['USERNAME']).'"
AND `ZEIT` = "'.mysql_real_escape_string($_GET['ZEIT']).'"
';
mysql_query($query)
or die(mysql_error());
}
// Überprüfung von möglichen Fehlern
if( !empty($errors) ) {
print_r($errors);
} else {
echo 'Datei wurde erfolgreich hochgeladen.';
}
?>