Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Dateiupload Antworten
Dateiupload

Der_HOmer[DE]
Quasselstrippe


Beiträge: 239


Warum funktioniert das nicht?

1: 
2: 
3: 
4:
$path = "http://localhost/sort/bilder/";
$nummer = 1;
$name = $_POST['zuord'].'_'.$_POST['thema'].'_'.$nummer.'.jpg';
copy($file, $path.$file_name) or print "Konnte nicht hochgeladen werden.";


"zuord" und "thema" kommen an


  Profil   Editieren   Zitieren

[SpecFor]crusher
Otto-Normal-Poster


Beiträge: 97


versuch doch mal path und filename vorher zusammenzufassen.

bzw. Wolltest du nicht den oben gesetzten Namen anstatt den Namen der ursprünglichen Datei nehmen?

Und nimm doch bei Pfad mal "./sort/bilder/"

Diese Nachricht wurde geändert von: [SpecFor]crusher
  Profil   E-Mail   Website   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


ist file denn richtig vorhanden?

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Der_HOmer[DE]
Quasselstrippe


Beiträge: 239


1: 
2: 
3: 
4: 
5:
Zuordnung: <input type="text" name="zuord"><br>
Thema: <input type="text" name="thema"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="2097152">
Datei: <input type="file" name="file"><br>
<input type="submit" value="Einfügen">

  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


mal zum Vergleich ein Formular und ein Script von mir:

Formular:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28:
<form method="post" action="index.php?cat=losung&action=donew" enctype="multipart/form-data">
	<table border="0" cellpadding="3" cellspacing="0">
		<tr>
			<td>Datum:</td>
			<td>'.$datebox.' <input name="unique" type="checkbox"> Einmalig (Losung wird nur am gewählten Tag angezeigt.)</td>
		</tr>
		<tr>
			<td>Bild:</td>
			<td><input name="image" type="file" accept="image/jpeg" style="width:440px"></td>
		</tr>
		<tr>
			<td valign="top" style="padding-top:6px">Text (HTML an):</td>
			<td><textarea name="zitat_text" style="width:440px; height:60px"></textarea></td>
		</tr>
		<tr>
			<td>Autor:</td>
			<td><input name="zitat_autor" type="text" style="width:440px"></td>
		</tr>
		<tr>
			<td>Tagesbeschreibung:</td>
			<td><input name="descr" type="text" style="width:440px"></td>
		</tr>
		<tr>
			<td valign="top"></td>
			<td><input name="" type="submit" value="Losung speichern"></td>
		</tr>
	</table>	
	</form>


und Upload-Script:
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36:
$newfilename = $date.".jpg";
	
	$movestatus = true;
	$movestatus = move_uploaded_file($_FILES['image']['tmp_name'], $uploaddir.$newfilename);
		
	$sizes = @getimagesize($uploaddir.$newfilename);
	
	if(!$sizes) {
		$errors[] = "Fehler beim Auslesen der Bildmaße. Vermutlich wurde keine Bilddatei hochgeladen.";	
	}
	if(!($sizes[0] == $settings['losung_imagewidth'] || $sizes[1] == $settings['losung_imageheight'])) {
		$errors[] = "Bild hat die falsche Größe ($sizes[0] * $sizes[1] Pixel)! Gefordert werden (B * H) $headerwidth * $headerheight Pixel";
	}
	
	if($movestatus == false) {
		$errors[] = "Bild konnte nicht hochgeladen werden.";
	}
	
	@chmod($uploaddir.$newfilename, 777);
	
	if(!empty($errors)) {
		@unlink($uploaddir.$newfilename);
		foreach($errors as $error) {
			echo $error.'<br>';
		}
	} else {
		
		$result1 = $mysql->query("INSERT INTO losung (`date`, `zitat_text`, `zitat_autor`, `img_file`, `unique`, `descr`) VALUES ('".$date."', '".addslashes($_POST['zitat_text'])."', '".addslashes($_POST['zitat_autor'])."', '".$newfilename."', '".$unique."', '".addslashes($_POST['descr'])."')");
		
		if(!$result1) {
			echo "Fehler beim Datenbank Eintrag!";
			@unlink($uploaddir.$newfilename);
		} else {
			header("location: index.php?cat=losung&action=list");
		}
	}


Guck dir das mal genau an.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Der_HOmer[DE]
Quasselstrippe


Beiträge: 239


Was ist denn in dem Fall "tmp_name"?

1:
move_uploaded_file($_FILES['image']['tmp_name'], $uploaddir.$newfilename);

Diese Nachricht wurde geändert von: Der_HOmer[DE]
  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


Dein problem ist, dass du eine nicht lokalisierte Datei copieren möchtest, sprich: Der weiß überhaupt nicht, was er verschieben soll. tmp_name ist der temporäre Name der Date iauf dem Server und wird automaitsch angelegt. Ich muss diese Datei alos nur noch verschieben und umbenennen, so wie ich es mache halt.

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Der_HOmer[DE]
Quasselstrippe


Beiträge: 239


ich mach das jetzt mit copy.
da sagt er mir jetzt:
"failed to create stream: HTTP wrapper does not support writeable connections"
Heisst das, dass ich die Schreibrechte auf 777 stellen muss?
Wenn ja, wie geht das?

  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


pff, das würd ich auf jeden Fall probieren, aber machs doch wie ich. Das läuft auf jeden Fall

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Der_HOmer[DE]
Quasselstrippe


Beiträge: 239


so, ich habs jetzt so gemacht wie du und es läuft

Aber wenn ich so eine Datei wieder löschen will, wie mach ich das?

und mit diesem $size, kann ich damit auch kleine Vorschaubilder erstellen lassen?
Ohne ein bild 2mal hochladen zu müssen.

Diese Nachricht wurde geändert von: Der_HOmer[DE]
  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


zum verkleinern musst du dir mal die Anelitungen so GDlib durchlesen. heißt glaub ich imageresize() oder so. Size ließt nur die größe aus.
Löschen geht mit unlink()

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren

Der_HOmer[DE]
Quasselstrippe


Beiträge: 239


unlink("dateiurl"); ?

  Profil   Editieren   Zitieren

languitar
Foren-Team


Beiträge: 2795


guck im manual nach. weiß ich so auch nciht

---
Take a look here!
Lichtblick - Einblick - Ausblick

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Nach oben