tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
366
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    LN5 LN5 ist offline Mitglied Silber
    Registriert seit
    Nov 2005
    Beiträge
    97
    Hello everbody

    Ich habe folgendes Problem:

    mit diesem Script rufe ich ein Bild auf, welches ich zuvor in einer SQL-Tabelle gespeichert habe:

    PHP-Code:
    [...]   $ResultPointer mysql_query($SQL$DatabasePointer);
       
    $Result=mysql_fetch_object($ResultPointer);

       
    header("Content-type: ".$Result->Dateityp);
       
    header("Content-length: ".$Result->Dateigroesse);
       
    header("Content-Disposition: attachment; filename=".$Result->Dateiname);
       echo
    $Result->Daten;
    [...] 
    Die Ausgabe läuft super! Alles kein Problem. Nun habe ich aber User, die viel zu Grosse (über 500px breite) Bilder hochladen. Diese habe ich bis dato einfach bei der Ausgabe mit width='500' "skaliert". Jetzt möchte ich das aber eleganter lösen. Sachen wie ImageCreateFromJPEG und solche Spässe klappen leider nicht. Wie würdet ihr das am ehesten lösen?

    Danke für die Hilfe.
     

  2. #2
    TvP TvP ist offline Mitglied Gold
    Registriert seit
    Sep 2004
    Beiträge
    127
    Einfach die Bilder schon beim Upload resizen, bevor du Sie in die Datenbank schreibst.
    Zieh das Image ins TMP, resize es, speicher es in der Datenbank und lösche das TMP-File!!

    Ich such mal meine IMG-Resizer raus, könnt aber ein wenig dauern
     
    [X] <- hier bohren für einen neuen Monitor

  3. #3
    LN5 LN5 ist offline Mitglied Silber
    Registriert seit
    Nov 2005
    Beiträge
    97
    Hey TvP

    Hat was; ist bestimmt schlauer, das Bild im Vornherein zu resizen. Das "Upload-Script" läuft wie folgt:

    PHP-Code:
          $Daten addslashes(fread(fopen($_FILES['Datei']['tmp_name'], "r"), filesize($_FILES['Datei']['tmp_name'])));
           
    $SQL mysql_query("SELECT * FROM Dateien WHERE User='$SESSION_SR'");
          if(
    mysql_num_rows($SQL) == 1){
          
    $SQL "UPDATE Dateien SET ";
          
    $SQL .= "id = '', Dateiname = '".$_FILES['Datei']['name']."', Dateigroesse = '".$_FILES['Datei']['size']."', Dateityp = '".$_FILES['Datei']['type']."', Daten = '".$Daten."', User='$SESSION_SR', Datum='$jetzt'";
          
    $picSQL"UPDATE mitglieder SET pic = 'Ja' WHERE nick = '$SESSION_SR'";
          
    mysql_query($picSQL$DatabasePointer);
          }else{
          
    $SQL "INSERT INTO Dateien ";
          
    $SQL .= "(id, Dateiname, Dateigroesse, Dateityp, Daten, User, Datum) VALUES ";
          
    $SQL .= "('','".$_FILES['Datei']['name']."', '".$_FILES['Datei']['size']."', '".$_FILES['Datei']['type']."', '".$Daten."', '$SESSION_SR', '$jetzt')";
          
    $picSQL"UPDATE mitglieder SET pic = 'Ja' WHERE nick = '$SESSION_SR'";
          
    mysql_query($picSQL$DatabasePointer);
          } 
    Bin gespannt auf deine Antwort.
     

  4. #4
    LN5 LN5 ist offline Mitglied Silber
    Registriert seit
    Nov 2005
    Beiträge
    97
    hat den niemand eine idee?
     

Ähnliche Themen

  1. Antworten: 15
    Letzter Beitrag: 16.08.09, 22:31
  2. Ausgabe in einer Tabelle
    Von counteract im Forum PHP
    Antworten: 3
    Letzter Beitrag: 22.10.07, 15:53
  3. Ausgabe in Tabelle
    Von counteract im Forum PHP
    Antworten: 11
    Letzter Beitrag: 24.11.06, 23:07
  4. Ausgabe in Tabelle
    Von ICPUI im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 18.04.05, 14:36
  5. Ausgabe in Tabelle
    Von toboli im Forum PHP
    Antworten: 3
    Letzter Beitrag: 27.05.04, 16:09