PHP Uploadproblem

Tjured

Newbie
Dabei seit
Nov. 2010
Beiträge
7
Alle nen guten Abend :)

Ich habe leider ein Problem mit dem Script für das hochladen von Files(genauer Bilder).
Beim Formular kann alles eingeben, das Bild auch vom Computer ausgewählt werden. Dann wird es zu einem php-script geschickt. Der Code läuft dort ab, doch das Problem ist, die Datei wird überhaupt nicht mitgeschicht. Kann Namen, Type ausgeben lassen, es ist einfach leer :?

input-Name stimmt mit dem $_files['datei'] überein.

PHP:
				<form action="admin_back.php" method="post">
					<p>Titel:</p>
					<input type="text" name="titel" class="box" />
					<p>Bild hochladen:</p><input type="file" name="attach"  size="42" class="box" />
					<p>Ordner:</p>
					<select name="ordner" style="width:200px; margin-left: 5px;" >
					<?php
						$res = mysql_query("SELECT GR_Name FROM gruppe order by ID_Gruppe DESC");
						$num = mysql_numrows($res);
						for ($i = 0; $i < $num; $i++) {
							$row = mysql_fetch_array($res); 
							echo "<option>".$row['GR_Name']."</option>";
						}
					?>
					</select>
					<input type="hidden" name="choice" value="3"> 
					<br /><input type="submit" value="Abschicken" style="margin: 5px; margin-left:300px; "/>
				</form>

admin_back.php:
PHP:
					$file_name = $_FILES["attach"]["name"];
					$file_typ = $_FILES["attach"]["type"];
					$file_size = $_FILES["attach"]["size"];
					$file_temp = $_FILES["attach"]["tmp_name"];
					$titel = strip_tags($_POST['titel']);
					$ordner = strip_tags($_POST['ordner']);
					
					if ((($file_typ == "image/gif") || ($file_typ == "image/jpeg") || ($file_typ == "image/pjpeg")) && ($file_size < 2000000)) {
						if ($_FILES["attach"]["error"] > 0){
							$fehler = "Fehler: ".$_FILES["attach"]["error"];
						} else {
							echo "<p>Name: $file_name</p>";
							echo "<p>Type: $file_typ</p>";
							echo "<p>Grösse: ".($file_size / 1024)." Kb</p>";
							echo "<p>Temp file: $file_temp</p>";

							if (file_exists("Pictures/$file_name")) {
								$fehler = "$file_name existiert bereits.";
							} else {
								$res = mysql_query("SELECT ID_Gruppe FROM gruppe where GR_Gruppe = '$ordner'");
								$num = mysql_numrows($res);
								for ($i = 0; $i < $num; $i++) {
									$row = mysql_fetch_array($res); 
									$gruppe = $row['ID_Gruppe'];
								}
								if ($titel == "" || $titel == " ") {
									$fehler = "Titel eingeben";
								} else {
									move_uploaded_file($file_temp, "Pictures/$file_name");
									mysql_query("insert into gallery(ID_Gallery, GA_Pfad, GA_Name, Gruppe_ID) values (null,'$file_name', '$titel',$gruppe)");
									echo "<p>Datei '$file_name' wurde gespeichert</p>";
								}
							}
						}
					} else {
						$fehler = "Invalid file: $file_typ";
					}


Hat irgendjemand eine Idee? Ich arbeite mit xampp auf einer virtueller Maschine.

Gruess
 
Zuletzt bearbeitet:

volcem

Lieutenant
Dabei seit
Dez. 2007
Beiträge
1.020
Versuche es mal mit:

HTML:
<form enctype="multipart/form-data"......

Und lasse Dir mal alles ausgeben was geschickt wird, entweder mit print_r($xx); oder var_dump($xx);
 

Tjured

Newbie
Ersteller dieses Themas
Dabei seit
Nov. 2010
Beiträge
7
Danke, enctype hat funktioniert!!!
 
Zuletzt bearbeitet:
Top