Hallo, ich habe Probleme mit meinem Script welches Bilder hochläd und sie auf eine einheitsbreite oder einheitshöhe reduziert, bei einem Bild welches 590KB groß ist und 1536x2048px groß ist funktioniert das nicht, er macht das nicht kleiner, außerdem bekomm ich bei größeren Bildern (ab 800kb) ne RAM Fehlermeldung, verbraucht des Script denn so viel Speicher? Bitte schaut mal drüber:
PHP:
<?
require('main.php');
session_start();
if (!isset($_SESSION['uid'])) {
$_SESSION['uid'] = $_REQUEST['uid'];
$_SESSION['pwd'] = $_REQUEST['pwd'];
}
$uid = $_SESSION['uid'];
$pwd = $_SESSION['pwd'];
db_connect();
$res = mysql_query("SELECT * FROM users WHERE uid='$uid' AND pwd='$pwd'");
$re = mysql_fetch_array($res);
if(mysql_num_rows($res) != 0) {
include(INC_DIR."header.php");
if ($uid){
?>
<span style="font-family:verdana;font-size:10pt">Herzlich Willkommen <b><?php echo $uid;?></b></span><br><br><br>
<span style="font-family:verdana;font-size:7pt"><i> Die Zufallsbild-URL für deine BI lautet: <b><a href="http://www.twixt-design.de/bild.php?user=<?php echo $uid;?>#bild.jpg" target="_blank">http://www.twixt-design.de/bild.php?user=<?php echo $uid;?>#bild.jpg</a></b></i><br><br>Bilder die größer als 550x413 Pixel bzw. 413x550 Pixel sind werden automatisch auf diese Größe angepasst!</span><br><br><br><br>
<?
}
?>
<form action="http://www.twixt-design.de<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<input type="file" name="bild" />
<input type="submit" value="Neues Bild hochladen" />
</form>
<?
$dateityp = GetImageSize($_FILES['bild']['tmp_name']);
$datei= $_FILES['bild']['name'];
$pfad = "user/$uid/$datei";
if($dateityp[2] != 0)
{
move_uploaded_file($_FILES['bild']['tmp_name'], $pfad);
chmod("$pfad",0777);
if (filesize($pfad) > 803840){
unlink($pfad);
echo "Das Bild darf aus technischen Gründen nicht größer als 785 KB groß sein!";
}
else {
$dateiendung = pathinfo("$pfad");
if ($dateiendung["extension"] == "jpg"){
$im = ImageCreateFromJPEG("$pfad");
$width = ImageSX($im);
$height = ImageSY($im);
if ($width > 500 or $height > 500){
if ($width > $height){
$twidth = 500;
$theight = round(($height/$width)*$twidth,0);
}
else {
$theight = 500;
$twidth = round(($width/$height)*$theight,0);
}
$im2 = ImageCreatetruecolor($twidth,$theight);
ImageCopyResized($im2,$im,0,0,0,0,$twidth,$theight,$width,$height);
ImageJpeg($im2, "$pfad", 70);
}
if ($dateiendung["extension"] == "gif"){
$im = ImageCreateFromGIF("$pfad");
$width = ImageSX($im);
$height = ImageSY($im);
if ($width > 500 or $height > 500){
if ($width > $height){
$twidth = 500;
$theight = round(($height/$width)*$twidth,0);
}
else {
$theight = 500;
$twidth = round(($width/$height)*$theight,0);
}
$im2 = ImageCreatetruecolor($twidth,$theight);
ImageCopyResized($im2,$im,0,0,0,0,$twidth,$theight,$width,$height);
ImageGIF($im2, "$pfad", 70);
}
}
}
echo "Das Bild wurde Erfolgreich hochgeladen";
}
}
else
{
echo "Wähle ein Bild von der Festplatte und klicke anschließend auf "Neues Bild Hochladen"";
}
?>
<br><br><br><br>
<?
if ($_GET["del"]) {
unlink("user/$uid/$_GET[del]");
?>
<script language="javascript">
window.location.href = "member.php";
</script>
<?
}
$ordner = "./user/$uid";
$handle = opendir($ordner);
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
if(is_dir($ordner."/".$file)) {
echo "/".$file."<br/>";
} else {
// kompletter Pfad
$compl = $ordner."/".$file;
echo "<img src=$ordner/$file><br><br><a href=?del=$file onclick=\"javascript:return confirm('Möchtest du das Bild "$file" wirklich löschen?')\">[Bild löschen]</a><br><br>";
}
}
}
closedir($handle);
} else {
include(INC_DIR."header.php");
unset($_SESSION['uid']);
unset($_SESSION['pwd']);
echo "<br><font color=red>Login fehlgeschlagen!</font>";
include(INC_DIR."login.php");
}
include(INC_DIR."footer.php");
db_disconnect();
?>