Bilder beim Upload automatisch skalieren

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
dj piet
Mitglied
Beiträge: 54
Registriert: 25.10.2005 09:21

Bilder beim Upload automatisch skalieren

Beitrag von dj piet »

Hallo, ich haeng hier grad an einer Galerie für meine Homepage, da können die User selbst ein paar Bilder hochladen. Das Problem was ich nun habe ist, dass zwar Thumbs erstellt werden die Bilder ansich aber in der Original Größe bleiben, was nicht gerade zuträglich ist.

ich kenne mich nun leider nicht so mit php aus, ich hoffe aber das ich die richtige Dateil rausgesucht habe wo der entsprechende code rein muss.

Evtl. kann mir ja hier jemand behilflich sein...

Code: Alles auswählen

<?php
	ob_start();
	$sname = " - ".$lang_main['BILDEREINSENDEN'];
	if($logged==1) {
	
		$galpfad = "uploads/galerie/";
	$user = getusernamebyid($_COOKIE["c_user_name"]);

if($_REQUEST['dowhat']!="uploadform"){
	$tpl =& new Template("userbildupload_start.htm");
	$tpl->Insert("{user}", $user);
	$tpl->Insert("{hinweis}", $lang_main['BILDEREINSENDENHINWEIS']);
	$tpl->Insert("{fragewieviele}", $lang_main['BILDEREINSENDFRAGE']);
	$tpl->Insert("{textabsenden}", $lang_main['BILDEREINSENWEITER']);
	$bildereinsenden = $tpl->VOut();
	
	$tpl =& new Template("mainlayout/mainbox.htm");
	$tpl->Insert("{titel}", $lang_main['BILDEREINSENDEN']);
	$tpl->Insert("{inhalt}", $bildereinsenden);
	$tpl->Insert("{theme}", $theme);
	$tpl->POut();
}

if($_REQUEST['upload']!=""){
	
	if($_REQUEST['upload']==1){
		
		
		
		if($_REQUEST['categ']=="0"){
			if($_REQUEST['catname']==""){
				$catname = "Bilder".date("d.m.y-H.i");
			}
			
			if($_REQUEST['catname']!="")
			{
				$catname = $_REQUEST['catname'];
			}
			
			
			
			
		}
		else
		{
			$categ=$categ;
		}
		
		
		
		function upload($_FILES)
		{
			global $sql_prefix,$galpfad,$gdversion,$compression,$thumb_smallw,$thumb_smallh,$thumb_middlew,$thumb_middleh;
			for($i=0;$i<count($_FILES[files][tmp_name]);$i++)
			{
				$size=$_FILES[files][size][$i];
				$name=$_FILES[files][name][$i];
				$temp=$_FILES[files][tmp_name][$i];
				$type=substr($_FILES[files][type][$i], 0, 5);
				
				if($size > 0  and $type=="image")
				{
					include("includes/config.php") ;
					
					
					
					$fupload_name=strtolower($_FILES[files][name][$i]);
					$fupload_name=str_replace(" ","", $fupload_name);
					
					
					if(file_exists("$galpfad".$fupload_name)){
						$nname=date("s");
						$ndat=explode(".",$fupload_name);
						$fupload_name=$ndat[0].$nname.".".$ndat[1];}
					
					
					
					if($_FILES[files][type][$i]=="image/pjpeg" || $_FILES[files][type][$i]=="image/jpeg" || $_FILES[files][type][$i]=="image/x-png" || $_FILES[files][type][$i]=="image/png" || $_FILES[files][type][$i]=="image/gif"){
						@move_uploaded_file($_FILES[files][tmp_name][$i], $galpfad . $fupload_name);
						@chmod($galpfad . $fupload_name, 0777);
						echo "<br>Bildname: <b>".$fupload_name."</b> ...Upload erfolgreich ! $msg <hr noshade size=1>";
						
						if($_POST[bild_name][$i]==""){$bildname=substr(addslashes($name), 0, -4);}
						if($_POST[bild_name][$i]!=""){$bildname=$_POST[bild_name][$i];}
						$query="insert into " . $sql_prefix . "_galerie_bilder (autor_email,name,kat,beschreibung,bild_name,status) values('".$_POST[autor_email][$i]."','$fupload_name','".mysql_escape_string($_POST['galerie'])."','".mysql_escape_string($_REQUEST['text'][$i])."','$bildname','0')";
						$result=mysql_query($query);
					}
					if($_FILES[files][type][$i]!="image/pjpeg" && $_FILES[files][type][$i]!="image/jpeg" && $_FILES[files][type][$i]!="image/x-png" && $_FILES[files][type][$i]!="image/png" && $_FILES[files][type][$i]!="image/gif"){
						echo $lang_main['BILDUPLOADFEHLER1'];
					}
				}
				else
				{
					echo $lang_main['BILDUPLOADFEHLER2'];
				}
			}
		}
		
		
		
		if($_REQUEST['send']=="1")
		{
			
			$query="SELECT * FROM " . $sql_prefix . "_galerie_kat where id='".$_REQUEST["galerie"]."'";
			$result=mysql_query($query);
			$row = mysql_fetch_array($result);
			
@mail("$emailwebmaster","Ein User hat Bilder hochgeladen", "Hallo Webmaster,\nEs wurden von ".getusernamebyid($_COOKIE["c_user_name"])." (".getuseremailbyid($_COOKIE["c_user_name"]).") Bilder hochgeladen (".$row[name].").","From: $emailwebmaster\nReply-To: $emailwebmaster\nX-Mailer: PHP/" . phpversion());
			
			upload($_FILES);
			
		}
		
	}
}
if($_REQUEST['dowhat']=="uploadform"){
	for ($f=1; $f<$_REQUEST['anz']+1; $f++) {
		$nr = $f;
		$umail = getuseremailbyid($_COOKIE['c_user_name']);
		$tpl =& new Template("userbildupload_dateifeld.htm");
		$tpl->Insert("{textquelle}", $lang_main['TEXTQUELLE']);
		$tpl->Insert("{nr}", $nr);
		$tpl->Insert("{beschreibung}", $lang_main['TEXTBESCHREIBUNG']);
		$tpl->Insert("{umail}", $umail);
		$vals .= $tpl->VOut();
	}
	
	$query="select * from " . $sql_prefix . "_galerie_kat";
	$result=mysql_query($query);
	$number=mysql_numrows($result);
	$i=0;
	
	while($i < $number) {
		$row=mysql_fetch_array($result);
		$option .= "<option value=\"".$row[id]."\">".$row[name]."</option>";
		$i++; }
		$anz = $anz;
		$tpl =& new Template("userbildupload_galauswahl.htm");
		$tpl->Insert("{textgalerie}", $lang_main['TEXTGALERIE']);
		$tpl->Insert("{keinegalerie}", $lang_js['KEINEGALERIE']);
		$tpl->Insert("{anz}", $anz);
		$tpl->Insert("{wahl}",$lang_main['AUSWAHL']);
		$tpl->Insert("{textsenden}",$lang_main['BILDEREINSENDEN']);
		$tpl->Insert("{option}", $option);
		$valbilder = $tpl->VOut();
		
		$tpl =& new Template("mainlayout/mainbox.htm");
		$tpl->Insert("{titel}", $lang_main['BILDEREINSENDEN']);
		$tpl->Insert("{inhalt}", $valbilder);
		$tpl->Insert("{felder}", $vals);
		$tpl->Insert("{theme}", $theme);
		$tpl->POut();
}

	} else {
	header("location:index.php?templateid=error&code=1");
	exit();
	}
	$OUT = ob_get_contents();
	ob_end_clean();
?>
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Beitrag von Nosferatu_v »

ist das ein fertiges programm ? also die Gallerie?
bei den Gallerien gibts normalerweise eine einstellung wo du sagen kansnt wie groß die thumbs sein sollen bzw bei selbstgeladen gibts meistens auch nen auto thumbnailer wo du sagen kannst alle auf 200 px oder so
dj piet
Mitglied
Beiträge: 54
Registriert: 25.10.2005 09:21

Beitrag von dj piet »

ja die Thumbs kann ich einstellen aber ich möchte die angezeigten originalbilder skaliert haben. wenn ich nen 1600x1200 pixel bild hochlade soll es dann eben nur mit 600x480 angezeigt werden bzw. auch nur in dieser größe auf dem Server landen.

kennt ihr da ne möglichkeit?
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Beitrag von Nosferatu_v »

selbst das sollte in deinem programm schon enthalten sein

was ist es denn für ein pogramm ?
dj piet
Mitglied
Beiträge: 54
Registriert: 25.10.2005 09:21

Beitrag von dj piet »

Wenns drin wäre würd ich ja nicht fragen ...

es handelt sich um SAD 123page.

Ist so ganz gut für nicht programmierer, ich benutze es um artikel etc. zu veröffentlichen und weil man das layout relativ einfach anpassen kann.
Benutzeravatar
Nosferatu_v
Mitglied
Beiträge: 283
Registriert: 04.02.2004 10:13
Wohnort: Österreich
Kontaktdaten:

Beitrag von Nosferatu_v »

das ist ja ein kostenpflichtes Programm ??? ist das richtig?

warum hast du dir kein Freeware programm genommen, wie PHPKIT, PHPNuke; phpbb + cms, Typo3 ....

SAD 123page solltest du am besten in einem SAD 123page forum nachfragen da ich dir da nicht so weiter helfen kann weil ich das programm dazukennen müsste und schaun müsste wie alles lauft und so und selbst genug mit meinem programm arbeit habe.

aber in einem SAD 123page sollte dir sicher geholfen werden. würde dir aber trozdem raten auf ein einderes cms umzusteigen da gibts meisten dutzende mods für alles
Antworten

Zurück zu „Coding & Technik“