Bilder hochladen

Grrrrr zu früh gefreut ... irgendwie ist heute der Wurm drin!
So sieht nun der Ausschnitt aus dem Code aus ...
PHP:
 		    		    		if (file_exists("$jpg"))
 		    		    		{
 		    		    		opendir("$ordner");
 		    		    		unlink("$jpg");
 		    		    		}
... nur der Fehler bleibt der selbe. Irgendwie hab ich das Gefühl heute an allgemeiner Verblödung zu leiden. Nix geht. ;-(( *heul*
 
Werde dir das später mal überarbeiten. Da fehlt noch was, damit das ganze auch auf dem Server landet.

Bis gleich, muss noch was anderes zuvor erledigen.
 
Danke dir für deine Hilfe, ich habe schon das php Handbuch gewälzt und probiert und gemacht, irgendwie bekomme ich es net hin ;-( !
 
Ungetestet!

PHP:
<?php

if(isset($_REQUEST['hochladen'])){

	// Verzeichnisse für Bildupload nach Format.
	$pfad_gif = '../profilpics/gif/';
	$pfad_jpg = '../profilpics/jpg/';

	// Filedaten auslesen
	$temp = $_FILES['pic']['tmp_name'];
	$name = $_FILES['pic']['name'];
	$type = $_FILES['pic']['type'];
	$size = $_FILES['pic']['size'];

	// Prüfen ob das Bild gif, jpg oder jpeg Format hat.
	if($type != 'image/gif' OR $type != 'image/jpeg' OR $type != 'image/jpg') {
		$err = "Nur gif und jpeg Dateien dürfen hochgeladen werden.";
		// Wenn Headeroption genutzt wird - dann folgende Zeile frei geben (// löschen).
//		$err = 1;
	}
	// Auf Dateigrösse prüfen
	elseif($size > '15000') {
		$err = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 15 KB!";
		// Wenn Headeroption genutzt wird - dann folgende Zeile frei geben (// löschen).
//		$err = 2;
	}
	// Dateien werden auf Format geprüft und in das entsprechende Verzeichnis kopiert.
	else {
		// für den explode wird vorausgesetzt, das der Bildname keine weiteren Punkt als Dateiname beinhaltet!		
		$bf          = explode(".", $name);
		$bild_format = $bf[1];
		
		if($bild_format == 'gif') move_uploaded_file($temp, $pfad_gif.$name);
		else move_uploaded_file($temp, $pfad_jpg.$name);

	}
	// Ausgabe der Fehler oder die Uploadbestätigung.	                           
	if($err) echo $err;
	else echo "Das Bild ".$name." wurde in das entsprechende Verzeichnis kopiert."
	
	// Optional - dann die // vor der nächsten Zeile löschen...
	header("Location: dateiname.php?info=$err");
	// der header steuert die angegebene Datei an. In der Datei muss dann obiger Text, welcher hinter
	// $err gesetzt wurde vorhanden sein. Also statt in dieser Datei in der anderen. Durch den info-Anhang
	// wird somit der entsprechende Text ausgewählt und ausgegeben.
}

?>
 
Mhmm na da haben wir wohl an einander vorbei gerdet, gifs und jpgs sollen schon in das selbe Verzeichnis kommen. Nur darf jeder user nur entweder 1 gif oder 1 jpg haben. Das Skript von mir war soweit schon richtig nur beim überschreiben, wenn der user also ein neues Bild hochläd und das alte überschreibt kommt der Fehler. Trotzdem danke für deine Mühe.
 
Ok,

PHP:
<?php
// Nach if() Dateigrösse prüfen einfügen.

	// Hinweis, wenn Datei schon existiert.
	elseif(file_exists($name)) {
		$err = "Die Datei $name existiert bereits";
	}

Wenn du nun dem User die Möglichkeit bieten willst, Dateien zu löschen, würde ich das mit einer Übersicht bewerkstelligen.

Das bedeutet:
a) Verzeichnis auslesen
b) auflisten
c) ein Link neben jedes Bild, wobei per $_GET der Dateiname übergeben wird

Dann das Script, welches das Bild löschen soll (oder alternativ in die gleiche Datei am Anfang:

PHP:
<?php
if($_GET['dell_file']) {
	$pfad_bilder = '../profilpics/';
	unlink($pfad_bilder.$_GET['dell_file']);
}
echo "Das Bild $_GET['dell_file'] wurde gelöscht.";

Du kannst noch für den Löschvorgang eine Prüfung einbauen mit file_exists($_GET['dell_file']). Wenn ja, dann lösche, wenn nein, dann teile mit, das Bild nicht vorhanden ist.
 
Zurück