Bilder werden zerstört

Support Forum für Php-Space.info
Gesperrt
heikom36
Beiträge: 4
Registriert: 07.02.2009 19:14

Bilder werden zerstört

Beitrag von heikom36 »

Hallo.

Ich schreibe eine kleine Datenbank, in der auch Bilder gelistet werden sollen.
Zuerst habe ich selbst einen Upload-Skript geschieben, der auch funktionierte. Aber fast alle Bilder wurden beim Upload zerstört. Manche kann man gar nicht mehr öffnen, manche werden fehlerhaft dargestellt.

Nunja, dann bin ich auf die Suche nach dem Problem gegangen und habe diesen Skript gefunden.
Leider ist hier aber auch keine Besserung zu erkennen. Auch mit diesem Skript werden die Bilder (fast alle) zerstört.

Ich nutze XAMPP in der Grundeinstellung.

Was mirt aufgefallen ist. Der IE kann etwas besser mit dem Upload umgehen. d.h. es werden nicht so viele Bilder als wie unter dem Firefox zerstört. Befriedigend ist es jedoch nicht.
Da ich bereits seit Tagen nach dem Fehler suche bin ich nunmehr ratlos und hoffe, dass mir eventuell hier geholfen werden kann.

Danke
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag von admin »

Hallo,

damit wir Dir helfen können solltest Du hier mal Dein Script posten. Dann kann ich mal drüber schauen. Was ich Dir aber zu 100% sagen kann, ich würde die Bilder nicht in einer Datenbank speichern. Es ist viel besser, nur den Pfad zu den Bild in einer Datenbank zu speichern.

Man sollte, wenn es möglich ist immer soviel wie möglich keine Daten in einer Datenbank speichern. Das Filesystem ist bei ein Server immer schneller als wie eine Datenbank.

Grüße Nico
heikom36
Beiträge: 4
Registriert: 07.02.2009 19:14

Beitrag von heikom36 »

Ich habe nur den Pfad zu den Bilder gespeichert.
Die Bilder importiere ich über ein Upload in das Verzeichnis der Webseite um einen eventuellen Umzug der Seiten auf einen anderen Rechner problemloser zu halten (die Anwendung wird ausschliesslich lokal laufen).

Der Code:


$tempname = $_FILES['datei']['tmp_name'];
$dateiname = $_FILES['datei']['name'];
$ziel = "../upload/passbilder/";
$pfad = $ziel.$dateiname;
$type = $_FILES['datei']['type'];
$size = $_FILES['datei']['size'];
$max_size = 2000000;
$successGoTo ="../bestaetigung_passbild.php";
$errorGoTo ="../error_passbild.php?fehler=";
$types = array("image/gif", "image/jpeg", "image/pjpeg"); //fuer spaetere Verinfachung der Dateitypenkontrolle
$beschreibung = $_POST['beschreibung'];
$err=0;
//** ENDE Variabeln



/*
/*
* Ueberpruefe auf zulaessigen Dateityp (gif,jpg und bmp)
* Bei einer Auswahl anderer Dateitypen "Fehlercode 1"
*/
if($type != "image/gif" && $type != "image/pjpeg" && $type != "image/bmp" && $type != "image/jpg" && $type != "image/jpeg") {

$err = 1;

}
// ENDE - Ueberpruefung Dateityp

/*
* Ueberpruefe ob die Dateigroesse nicht die, in max_size festgelegte Groesse ueberschreitet
* Bei Ueberschreitung "Fehlercode 2"
*/
if($size > $max_size) {

$err = 2;

}
//ENDE - Ueberpruefung Groesse

/*
*
*/
if(empty($err)) {
copy("$tempname", "$pfad");

$insertSQL = "INSERT INTO tbl_passbilder (pass_beschreibung, pass_dateiname, pass_dateityp) VALUES ('$beschreibung', '$dateiname', '$type')";

mysql_select_db($database_guardian_db, $guardian_db);
$Result1 = mysql_query($insertSQL, $guardian_db) or die(mysql_error());


header(sprintf("Location: %s", $successGoTo));

}

//Wenn Arrar $err[] Fehlermeldungen enthaelt, diese ausgeben

else {


header(sprintf("Location: %s", $errorGoTo.$err));


}


?>

--
heikom36
Beiträge: 4
Registriert: 07.02.2009 19:14

Beitrag von heikom36 »

Ich habe die Seiten eben mal zu testzwecken auf meinen Webspace hochgeladen.
Auch hier werden die Bilder teilweise zerstört.
Und wie bei der Lokalen Anwendung werden mit dem Firefox fast alle zerstört, mit dem Internetexplorer nur einige.
Was mich nur ärgert ist:

Manchmal wird ein und das selbe Bild ohne Fehler übertragen, manchmal sind diese so zerstört das sie erst gar nicht mehr geöffnet werden können und manchmal nur einige Informationen - dann sehen die Bilder aus wie bei einem Schiebepuzzel.... ist mir echt ein Rätsel.
admin
Site Admin
Beiträge: 336
Registriert: 09.03.2005 10:41
Wohnort: Arnstadt
Kontaktdaten:

Beitrag von admin »

Hallo,

kannst Du mir mal so ein Bild zeigen? Da Du die Bilder nicht mit der GD Library bearbeitest liegt meine Vermutung darauf, das Dein Webspace voll ist und das Quota nur ein Teil der Bilder speichern zu lässt. Kannst Du bitte mal überprüfen ob der Webspace voll ist?

Grüße Nico
heikom36
Beiträge: 4
Registriert: 07.02.2009 19:14

Beitrag von heikom36 »

34% voll und Lokal habe ich mehr als wie nur ausreichend zur Verfügung.

Ich denke das Problem ist bei mir zu suchen denn:

Heute habe ich auf der Arbeit ein paar Bilder auf den Server ohne Probleme hochladen können und vor 5 Minuten auch von dem Rechner meiner Freundin aus.

Sehr merkwürdiges Verhalten.

Ich kam auf die Idee das das Problem auf meinem Rechner zu suchen ist weil der SQL-Skript, dür die Erstellung der Datenbank, unter dem Firefox in fast allen Fällen fehlerhaft ankam - im IE ging es dann schliesslich.

Der SQL-Skript dann Fehlerfrei übertragen.
phpMyAdmin zeigte zuvor mehrmals Fehlermeldungen im SQL-Syntax (als Beispiel: Ein Primärschlüssel einer Tabelle Mitarbeiter wurde in einer Tabelle "Dokumente" als diesen definiert - also völlig durch den Wind geschossen).
Auch hier war es mit dem IE kein Problem die Daten fehlerfrei hochzuladen. Der Firefox hat beim Übertragen fast alles zerstört oder durcheinandergewirbelt.
Das Problem verstehe ich wirklich nicht und ich werde da auch nicht lange nach suchen. Denke eine Neuinstallation des Systems oder Firefox ist wesentlich schneller als wie eine Fehlersuche (vorallendingen wenn man ein Image einer frischen Installation gemacht hat).

Aber trotzdem: Vielen Dank für den Zeitaufwand für mein Problem.
Gesperrt