Ergebnis 1 bis 9 von 9

Thema: Problem bei Bildupload ->Reihenfolge der Funktionen

  1. #1
    der/die Göttliche Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Problem bei Bildupload ->Reihenfolge der Funktionen

    Hallo Leute,

    habe ein seltsames Problem.
    Es geht um eine Funktion, welche ein Profilbild ändern soll.
    man wählt in einem Formular die Person aus, welche geändert wird und ein Bild dazu.
    Dann wir eine Funktion aufgerufen, welche das Bild checkt und einen Thumbnail anlegt sowie eine Sicherungskopie des Bildes.
    Hier der Code der Funktion:
    Code:
    function validate_file($id) {
    	global $path_pic,$path_thumb,$bak_dir;
    	if (isset($_FILES['pic'])) {
    		if (strpos($_FILES['pic']['type'], "image/") !== FALSE && is_numeric($id)) {
    			move_uploaded_file($_FILES['pic']['tmp_name'], "".$bak_dir."".$id.".jpg");
    			copy("".$bak_dir."".$id.".jpg", "".$path_pic."".$id.".jpg");
    			$th_width = "150";
    			$th_height = "200";
    			$img = imagecreatefromjpeg("".$bak_dir."".$id.".jpg");
    			list($img_width,$img_height) = getimagesize("".$bak_dir."".$id.".jpg");
    			$th = imagecreatetruecolor($th_width, $th_height);
    			imagecopyresampled($th,$img,0,0,0,0,$th_width,$th_height,$img_width,$img_height);
    			if (imagejpeg($th,"".$path_thumb."".$id."_thumb.jpg")) {
    				return true;
    			}
    			else {
    				return false;
    			}
    		}
    		else {
    			echo"Falsche id oder falsches Dateiformat";
    			return false;
    		}
    	}
    	else {
    		echo"Keine oder falsche Daten übergeben!";
    		return  false;
    	}
    }
    Der Aufruf erfolgt hier:
    Code:
    if (isset($_POST['id'])) {
    	if(validate_file($_POST['id'])) {
    		$id = htmlentities($_POST['id']);
    		include"./inc/pictures.php";
    	}
    }
    else {
    	echo"keine Daten übergeben";
    }
    Die Datei pictures.php, welche dann includiert wird, enthält dann das Thumbnail des hochgeladenen Bildes zur Kontrolle.

    Und jetzt kommts: Dort wird doch tatsächlich noch das alte Bild angezeigt, obwohl das ja wohl nicht mehr existieren kann, da doch überschrieben. Selbst explizites Löschen mittels unlink des alten Bildes nützt da nichts. Es scheint ganz so, als ob der Parser bereits weiter macht, auch wenn eine Funktion noch gar nicht zuende ausgeführt wurde. Ich habe auch bereits versucht, den Browser am cachen zu hindern, aber das war auch nicht die Lösung. Offline tritt dieses Problem übrigens nicht auf.

    Ich bin echt mit meinem Latein am Ende.
    Danke für eure Hilfe,
    Jojo
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Azubi(ne)
    Registriert seit
    11.04.2007
    Beiträge
    85
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    zeig mal die pictures.php her...

    Kann mir nicht vorstellen, das das include schon vor ende der funktion aufgerufen wird!

    und was meinst mit "Offline tritt dieses Problem übrigens nicht auf"?
    Wenn wer was offline ist?

  3. #3
    der/die Göttliche
    Themenstarter
    Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo Sebian,

    danke für deine Antwort.
    Die pictures.php
    Code:
    echo'
    
    Folgendes Bild wurde Hochgeladen und gespeichert&#58;</p>
    	 [img]'.$path_thumb.''.$id.'_thumb.jpg[/img]';
    echo'
    	 <form action="index.php?action=pictures&amp;id='.$id.'&amp;do=create" method="post">
    	     	<input type="submit" name="res" value="Als reserviert markieren" />
    	 </form>';
    Also nur 2 simple Echos, seh da nichts, was ein Problem sein könnte.
    und was meinst mit "Offline tritt dieses Problem übrigens nicht auf"?
    Wenn wer was offline ist?
    Wenn ich das Script offline aufrufe, funktioniert alles, wie es soll, es wird also das gerade hochgeladene Bild angezeigt (bzw. das Thumbnail davon, das in "validate_file()" erstellt wird).

    Das Problem tritt erst nach dem hochladen auf (ohost.de).
    Wenn es hilft, kann ich einen Testzugang erstellen, dann kannst du es ausprobieren. Alles in allem handelt es sich um ein Administrationspanel für eine Aupair-Datenbank.

    Gruß,
    Jojo

  4. #4
    Azubi(ne)
    Registriert seit
    11.04.2007
    Beiträge
    85
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    mhm...

    also Testaccount wär toll. Dann kann ich vllt. was machen

    lg

  5. #5
    König(in) Avatar von d4f
    Registriert seit
    22.04.2007
    Ort
    Luxemburg
    Beiträge
    1.493
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich tippe mal dass entweder Ohost eine Funktion blockiert/kastriert hat (sind ja bekannt dafuer...) oder dass dein Script nciht mit deren Server(Einstellungen) kompatibel ist

    was ist mit "error_reporting(E_ALL)"?
    Kann dir ggf Webspace mit individuellen PHP.ini-Einstellungen geben um es zu testen
    Wir sind alle ein BOFH:

  6. #6
    der/die Göttliche
    Themenstarter
    Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    error_reporting ist natürlich an (weiß nicht, obs bei ohost aktiviert ist, lokal bekomme ich keine Fehler/warnings).

    Ich habe nun versucht, als Quelle fürs Bild $_FILES['tmp_name'] zu verwenden, was auch nicht zum Erfolg führt. Ich schließe daraus, dass die Funktion validate_file ordnungsgemäß ausgeführt wurde und $_FILES['tmp_name'] durch move_uploaded_file nicht mehr existiert (wies ja auch sein soll).
    Somit tippe ich inzwischen auch darauf, dass da irgendwo was in der php.ini bei ohost nicht mit meinem Script kompatibel ist. Wär mir aber schon wichtig, das rauszufinden, da das Ganze ja irgendwann auch an den Kunden geht, und ich mit dem Webspace und dessen Einstellungen an sich nichts zu tun haben werde und von daher diese Info zumindest mitgeben müsste.

    Hier ist ein testaccount:
    url: http://jojo87.jo.ohost.de/aupair/admin/index.php
    user: admin
    pw: test

    Unter Funktionen mal versuchen, das Bild eines Aupairs zu verändern, bei der Bestätigung werdet ihr sehen, dass nicht euer gerade hochgeladnens Bild erscheint, sondern das Alte. Erst nach neuladen der Seite erscheint euer neues (Bilder dürfen nicht >2mb sein).

    @d4f:
    wäre es zuviel verlangt, wenn ich dich bitte, mal die php.ini von ohost und meiner lokalen zu Vergleichen (würds dir dann per pm schicken) ?
    Ich muss gestehen, dass ich nur mit einem Bruchteil der Einstellungen wirklich was anfangen kann
    Wär mir eine Riesenhilfe.

    Danke euch beiden für die bisherige Hilfe,
    Jojo

  7. #7
    König(in) Avatar von d4f
    Registriert seit
    22.04.2007
    Ort
    Luxemburg
    Beiträge
    1.493
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Erst nach neuladen der Seite erscheint euer neues
    Ich nehme stark an dass das KEIN Problemm mit dem Script sondern schlicht und ergreifend caching ist

    mal die php.ini von ohost und meiner lokalen zu Vergleichen
    Schick die phpinfo() von beiden und ich mach mein bestes, auch wenn ich nicht glaube dass es an der Einstellung liegt (siehe 1. Quote)
    Wir sind alle ein BOFH:

  8. #8
    der/die Göttliche
    Themenstarter
    Avatar von jojo87
    Registriert seit
    23.03.2007
    Ort
    Leipzig
    Alter
    30
    Beiträge
    3.131
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Zitat Zitat von jojo87
    Ich habe auch bereits versucht, den Browser am cachen zu hindern, aber das war auch nicht die Lösung.
    Nein, das war es auch nicht, es sei denn,

    Code:
    <meta http-equiv="cache-control" content="no-cache">
    ist dafür nicht der richtige Weg.
    Die infos sind in deinem Postfach, danke schonmal.

  9. #9
    Azubi(ne)
    Registriert seit
    11.04.2007
    Beiträge
    85
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    naja dann mach nach jeder seitenänderung mal ein cache leeren.

    hab grad keine zeit... werds mir nacher noch mal ansehen...

Ähnliche Themen

  1. Problem mit Funktionen!
    Von kirchi123 im Forum Forum für alle anderen Programmiersprachen
    Antworten: 1
    Letzter Beitrag: 09.05.2008, 15:09
  2. Friend Funktionen in Komponenten-Funktionen wandeln --Fragen
    Von Epimetheus im Forum Forum für alle anderen Programmiersprachen
    Antworten: 5
    Letzter Beitrag: 30.11.2007, 19:33
  3. Suche Anwendung für Bildupload
    Von strauberry im Forum Flash Forum
    Antworten: 0
    Letzter Beitrag: 18.06.2007, 18:04
  4. Gültigkeit von Funktionen in Funktionen
    Von thomas69 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 25.05.2007, 16:08
  5. Wasserzeichen beim Bildupload
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 04.05.2006, 12:39

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •