Alexnder Ruff
Mitglied
Moin Moin Forum,
ich habe ein Uploadscrip welches Bilder auf einen Webserver hochläd und die Bildinformationen in einer Mysql Tabelle ablegt.
Hier mal das script:
Jetzt würde ich noch noch gerne einen Teil einfügen mit denen die hochgeladenen Bilder automatisch in der Größe angepasst werden. Auch dafür habe ich ein script gefunden bin allerdings zu blöd das anzupassen.
Hier mal das Zweite Script:
Könntet Ihr mir weiter helfen ?
MFG
ich habe ein Uploadscrip welches Bilder auf einen Webserver hochläd und die Bildinformationen in einer Mysql Tabelle ablegt.
Hier mal das script:
PHP:
<?php
# DB Host
$server = "xxx";
# DB Name
$datenbank = "xxx";
# DB Username
$user = "xxx";
# DB Passwort
$passwort = "xxx";
/* Zugriff auf SQL-Server */
MYSQL_CONNECT($server, $user, $passwort) or die ("<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($datenbank) or die ( "<H3>Datenbank nicht vorhanden</H3>");
// Aktionen und Menue fuer diese Datei
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
if (isset($_GET['action']) && $_GET['action'] != "") {
$action = $_GET['action'];
}
elseif (isset($_POST['action']) && $_POST['action'] != "") {
$action = $_POST['action'];
}
switch ($action) {
case "upload":
upload();
break;
default:
formular();
break;
}
// Uploadformular
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
function formular($printfehler="") {
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Untitled</title>
<style type="text/css">
body {
background-color: #f7f7f7;
font-family: Verdana, Arial;
font-size: 12px;
color: #000000;
}
.tborder {
background-color: #979cb0;
}
.tdkopf {
background-color: #dedfe4;
padding: 3px;
border: 1px solid #ffffff;
font-size: 11px;
}
.tdcont {
background-color: #ffffff;
padding: 3px;
font-size: 11px;
width: 50%;
}
form { display: inline;}
.fc {
border: 1px solid #65698d;
font-size: 11px;
background-color: #ffffff;
}
.button {
border: 1px solid #65698d;
font-size: 11px;
background-color: #bac0cd;
}
</style>
</head>
<body>
<div align="center">
<?php
// Fiktive USER ID
$user_id = $_GET['auft_whg'];
// Auslesen der Gesamtsumme aller gespeicherten Bytes
$querybytes = "SELECT SUM(picbytes) FROM picupload WHERE userid = '$user_id'";
$resultsumme = mysql_query($querybytes);
$summebytes = mysql_fetch_array($resultsumme);
if ($summebytes[0] > 0) {
$summekb = sprintf ("%01.2f", $summebytes[0]/1024);
} else {
$summekb = 0;
}
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="action" value="upload">
<input type="hidden" name="user_id" value="<?php echo $user_id; ?>">
<table cellspacing="1" cellpadding="0" border="0" width="500" class="tborder">
<tr>
<td class="tdcont" colspan="2">Insgesamt gespeicherte KB: <?php echo $summekb; ?> </td>
</tr>
<tr>
<td class="tdcont" colspan="2"><?php echo $printfehler; ?> </td>
</tr>
<tr>
<td class="tdkopf" colspan="2"><b>» Dateiupload</b></td>
</tr>
<tr>
<td class="tdcont">Datei auswählen</td>
<td class="tdcont"><input class="fc" type="file" name="datei"></td>
</tr>
<tr>
<td class="tdcont" colspan="2">Erlaubt sind Dateien mit der Endung: jpg, jpeg, gif und png mit einer max. Dateigröße von 50 kb gestattet.</td>
</tr>
<tr>
<td class="tdkopf" colspan="2" align="center"><input class="button" type="submit" name="upload" value="Datei hochladen"></td>
</tr>
</table>
</form>
<br>
<?php
// Ausgabe der Bilder des Users
$query = "SELECT DATE_FORMAT( pictime, '%d.%c.%Y um %H:%i:%S Uhr' ) AS datum, picverz, pvorn, pend, picbytes, picwidth, picheight FROM picupload WHERE userid = '$user_id' ORDER BY pictime DESC";
$result = mysql_query($query);
$reihen = mysql_num_rows($result);
if (mysql_num_rows($result)) {
# Ausgabe
while ($daten = mysql_fetch_array ($result)) {
echo 'Datei vom:' . $daten[datum]. '<br><img src="'.$daten[picverz] . '/'. $daten[pvorn] . '.' . $daten[pend].'" border="0" width="'.$daten[picwidth].'" height="'.$daten[picheight].'" alt="Bild mit '. $daten[picbytes].' Bytes"><hr>';
}
}
?>
</div>
</body>
</html>
<?php
}
// Uploadfunktion
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
function upload() {
// Array mit erlaubten Dateiendungen
$arr_erlaube_dateityp = array(gif,jpg,jpeg,png);
$dateiname = $_FILES['datei']['name'] ;
// User ID
$user_id = $_POST['user_id'];
$user_id = preg_replace ("/[^0-9]/", "", $user_id);
if ($dateiname != '') {
$dateiname = preg_replace ("/[^0-9a-zA-Z\.]/", "_", $dateiname);
}
// Dateiendung ermitteln
$punkt = strrpos($dateiname, '.');
$laenge = strlen($dateiname);
$endung = strtolower(substr($dateiname, -($laenge - $punkt - 1)));
$orginal = strtolower(substr($dateiname, 0, -($laenge - $punkt)));
// Fehlerbehandlung
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
$fehlermeldung = "";
$fehler_gefunden = "";
// Name Check
$errormeldung = "<li>Es wurde keine Datei ausgewählt\n";
if (empty($dateiname)) {
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ; }
$errormeldung = "<li>Der gewählte Dateityp ist nicht erlaubt\n";
if (!in_array($endung, $arr_erlaube_dateityp) && !empty($dateiname)) {
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ; }
$errormeldung = "<li>Die gewählte Datei ist zu groß, upload abgelehnt. Max 50 kb Dateigröße sind gestattet.\n";
if ($_FILES['datei']['size'] > (2048 * 1024)) {
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ; }
// Wenn Fehler - dann aufruf der Fehlerausgabe...
if ($fehler_gefunden) {
$printfehler ="<ol>$fehlermeldung</ol>";
formular($printfehler);
exit;
}
// Zufaelligen Dateiname aus Orginalbildname und Zeit basteln
$bildzeit = time();
$rand_value = randomstring($bildzeit.$orginal);
$savename = $rand_value . ".$endung";
// In welches Verzeichnis soll die Datei
if ($endung == 'gif') {
$uploadverzeichnis = 'gif';
}
elseif ($endung == 'jpg' || $endung == 'jpeg') {
$uploadverzeichnis = 'jpg';
}
elseif ($endung == 'png') {
$uploadverzeichnis = 'png';
}
// Keine Fehler, dann speichern
if ($printfehler == '') {
move_uploaded_file($_FILES['datei']['tmp_name'], $uploadverzeichnis.'/'.$savename);
}
// Dateigroesse und Bildabmessungen auslesen
$dateigroesse = filesize($uploadverzeichnis.'/'.$savename);
$picinfo = getimagesize($uploadverzeichnis.'/'.$savename);
// Daten speichern
$orginalname = mysql_real_escape_string($orginal);
MYSQL_QUERY("INSERT INTO picupload (picid, userid, pictime, picverz, picorg, pvorn, pend, picbytes, picwidth, picheight) VALUES('', '$user_id', NOW(), '$uploadverzeichnis','$orginalname', '$rand_value', '$endung', '$dateigroesse', '$picinfo[0]', '$picinfo[1]')");
header("Location: ./upload.php");
exit;
}
// Zufallszeichen fuer Dateiname
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //
function randomstring($dateiname) {
$dateiname = strtolower(substr(md5(microtime()),0,20));
return $dateiname;
}
MYSQL_CLOSE();
?>
Jetzt würde ich noch noch gerne einen Teil einfügen mit denen die hochgeladenen Bilder automatisch in der Größe angepasst werden. Auch dafür habe ich ein script gefunden bin allerdings zu blöd das anzupassen.
Hier mal das Zweite Script:
PHP:
// Original resizen - start
if ( $size[0] > 412 ) {
$file = "datei.jpg";
$target = "resized.jpg";
$max_width = "420";
$quality = "90";
$src_img = imagecreatefromjpeg($file);
$picsize = getimagesize($file);
$src_width = $picsize[0];
$src_height = $picsize[1];
if($src_width > $max_width)
{
$convert = $max_width/$src_width;
$dest_width = $max_width;
$dest_height = ceil($src_height*$convert);
}
else
{
$dest_width = $src_width;
$dest_height = $src_height;
}
$dst_img = imagecreatetruecolor($dest_width,$dest_height);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width, $dest_height, $src_width, $src_height);
imagejpeg($dst_img, "$target", $quality);
// Original resizen - ende
Könntet Ihr mir weiter helfen ?
MFG