php - Bildbearbeitung Aktualisierungsproblem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php - Bildbearbeitung Aktualisierungsproblem

    Hey, ich schreibe gerade eine Website auf der der User Bilder hochladen und bearbeiten kann. Der Nutzer gibt nun z.B. einen Text an, und dieser wird dann via ImageTTFText auf das Bild gedruckt.
    Danach wird das bearbeitete Bild auf den Namen des Uhrsprungsbildes gespeichert, sodass auf der entsprechenden HTML-Seite immer noch der selbe Dateipfad eingebunden wird.

    Mein Problem ist Folgendes:
    Nachdem der Nutzer seine Eingaben/Bearbeitungen via Button absendet wird das Bild im Hintergrund erstellt/überschrieben.
    Dem Nutzer wird das bearbeitete Bild aber erst angezeigt, wenn er die Seite manuell in seinem Browser aktualisiert (F5).
    Ich möchte, dass das Bild sofort nach der Bearbeitung, also dem Abschicken des Bearbeitungsformulars, eingebunden/aktualisiert/angezeigt wird.

    Wie kann ich dieses Problem lösen ?
    Ist das mit PHP allein zu lösen ?

    Jakob

  • #2
    Hänge einfach einen GET-Parameter (oder auch nur einen Query-String) an den Bildnamen an, bspw. den aktuellen Timestamp – das macht es zu einer neuen Ressource, die der Browser laden muss, weil er sie noch nicht in seinem Cache hat.

    foo.jpg?1234567689
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hab ich schon probiert, funktioniert aber irgendwie nicht. [Habe an das gespeicherte Bild einen zufällig generierten Query-String angehängt].

      Ich habe vergessen zu erwähnen, dass der Nutzer die .php-Datei im Browser aufruft und nicht die .html-Datei. Die .html-Datei ist über eine Template-Funktion eingebunden, wird aber nicht im Browser aufgerufen (URL:example.com/1.php -> Template:example.com/1.html).

      Ich bräuchte also sozusagen eine Funktion etc. die dem Browser nach abspeichern des neuen Bildes sagt, er soll das Template, bzw. die ganze .php-Datei neu laden.
      Allerdings kann ich kein header() benutzen, weil der mir sonst mit dem restlichen script in die quere kommt.

      Hoffe es ist verständlich was ich mitteilen wollte.
      Jakob

      Kommentar


      • #4
        Hi Jakob1997,

        könnte man Java-Script in den Code "einbauen"?
        PHP-Code:
        <?php
        //Upload erfolgreich
        $uploaded true;
        if(
        $uploaded){
        ?>
        <script type="text/javascript">
        <!--
        window.location.href = 'http://google.de';
        // -->
        </script>
        <?php
        }
        ?>
        Gruß
        Günni

        Kommentar


        • #5
          Stichwort 'cache header' - anzuwenden in dem Script, dass das Bilder ausgibt.

          Da die Seite, die das Bild einbindet, aber wohl ebenfalls durch den PHP-Parser läuft, sollte es auch kein Problem sein in dem entsprechenden Script dafür zu sorgen, dass an die Url in <img src="" /> ein dynamischer GET-Parameter oder Querystring angehängt wird.
          Zuletzt geändert von Quetschi; 22.12.2012, 23:16.
          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
          Schön - etwas Geschichte kann ja nicht schaden.
          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

          Kommentar


          • #6
            Gelöst

            Hab das ganze jetzt mit einem Query-String gelöst... Dankeschön für den Tipp funktioniert prima. An den Bildname wird jetzt einfach immer ein zufällig erzeugter Query-String angehängt.

            Kommentar

            Lädt...
            X