tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
14
ZUGRIFFE
248
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Hey liebes Forum!
    Ich weiß, dass dieses Thema hier schon oft angeschnitten wurde, habe mit der Su-Fu auch schon einiges gefunden, komme jedoch überhaupt nicht voran.
    Also nun zu meinem Problem:

    Wie der Titel schon aussagt möchte ich dem User auf meiner Seite die Möglichkeit geben, ein Foto raufzuladen. Da ich es jedoch auf der Größe von 1024px mal 768px brauche, soll im gleichen Vorgang die größe Minimiert werden. (1024px deswegen, weil es sich um Hintergrundbilder handelt, die ja in der Regel groß sind!)

    Hier mein bisheriger Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    move_uploaded_file($_FILES['bild']['tmp_name'], "upload/".$_FILES['bild']['name']); 
    // Upload des Bildes
     
     
     
    $sql= "INSERT INTO Tabelle (bildName, bildPfad) VALUES ('$bildname', '$bild')";
    $ergebnis = mysql_query($sql);
     
    $image = "upload/".$_FILES['bild']['name']; // Bild wieder aus Ordner auslesen
     
    $size = getimagesize($image);
    $im = imagecreatefromjpeg($image);
    $width = $size[0];
    $height = $size[1];
    $zwidth = 1024;
    $zheight = 768;
    $im2 = imagecreatetruecolor($zwidth, $zheight);
    imagecopyresized($new, $im2, 0, 0, 0, 0, $zwidth, $zheight, $width, $height);
    imagejpeg($im2);

    Danach soll es noch mit <img> ausgegeben werden.

    Was mach ich falsch?

    Danke schon mal.


    Grüße
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Du hast die Parameter für das Ursprungsbild und das Zielbild bei "imagecopyresize" falsch gesetzt:

    PHP-Code:
    imagecopyresized($im2$im0000$zwidth$zheight$width$height); 
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    OK danke, hab ich probiert.
    Nun kommen unidentifizierbare Zeichen die in etwa so aussehen:

    Code :
    1
    
    ����JFIF��>CREATOR: gd-jpeg v1.0 (using IJG JPEG v70), default quality ��C    $.' ",#(7),01444'9=82<.342��C  2!!22222222222222222222222222222222222222222222222222��"�� ���}***AQa"q2���#B��R��$3br� %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������� ���w***AQaq"2�B���� #3R�br� $4�%�&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?��ނ)ؤ�p�F�S��;��1K�1�7b���a���c��⒝��)� ���9�cH�G)h����K�1@XLQ�iiq@�7��Ph��KF)�� S@�.�j)q���%-���c�^�S��R�(������f��f���;�ъ.{Q�v)1@�R�m��P!(���h(�.(�@ģ�P�'Z1N��z GSJ:�in9����M�Z(w�ъ\Pb�R�@%����IڝIM���R�J� �E-\}"�v2)(B�CF)hh��(�� ֎�c�\S %-.1@��Ni�M��(�(�/JJZ�7��F( �Gj\Q�w�S���4�n8�S�I@l7

    ://
     

  4. #4
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Bist du sicher das der Pfad zum Bild auch wirklich stimmt?

    Ich habe es hier mit einem gespeicherten Bild und der Pfadangabe getestet und da klappt es ohne Probleme.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  5. #5
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Ich hab jz versucht, ein Bild direkt aus dem Ordner auszugegeben mit


    Code :
    1
    
    $image = "upload/gebirge.jpg";

    aber die wird die Ausgabe noch grausamer.

    Meinen wir eh die gleiche Zeile?


    PS: Sorry, wenn ich mich gerade etwas doof anstelle
     

  6. #6
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ist nicht doof, diese Zeile habe ich gemeint.

    Zeige bitte nochmal deinen kompletten (!!) Code wie er jetzt aussieht.

    NACHTRAG: Wird die SQL-Anweisung korekt ausgeführt? Nicht das da ein Fehler entsteht der dann die Ausgabe zerstört.
    Geändert von tombe (29.09.11 um 17:54 Uhr)
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  7. #7
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Auf der ersten Seite soll der User ein Bild auswählen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    <form action="upload_image.php" method="post" enctype="multipart/form-data" name="form1" >
    <table>
      <tr>
        <td>Name des Bildes:</td> // Ist optional
        <td><input name="bildname" type="text" />
    </td>
      </tr>
      <tr>
        <td>Datei:</td>
        <td><input name="bild" type="file" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input name="button" type="submit" value="Hochladen"/>
    </td>
      </tr>
    </table>
    </form>


    Und die Datei upload_image.php sieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    <?php
    include ("db.php");
    $verbindung = mysql_connect(HOST, USER, KENNWORT);
    mysql_select_db(DATENBANK) or die ("Datenbank konnte nicht ausgewählt werden");
    $bild = $_FILES['bild']['name'];
    $bildname = $_POST["bildname"];
     
     
    move_uploaded_file($_FILES['bild']['tmp_name'], "upload/".$_FILES['bild']['name']); 
    $sql= "INSERT INTO image_slider (bildName, bildPfad) VALUES ('$bildname', '$bild')";
    $ergebnis = mysql_query($sql);
     
    $image = "upload/".$_FILES['bild']['name'];
     
    $size = getimagesize($image);
    $im = imagecreatefromjpeg($image);
    $width = $size[0];
    $height = $size[1];
    $zwidth = 1024;
    $zheight = 768;
    $im2 = imagecreatetruecolor($zwidth, $zheight);
    imagecopyresized($im2, $im, 0, 0, 0, 0, $zwidth, $zheight, $width, $height);  
    imagejpeg($im2);
     
     
    ?>
    <img src="<?php echo $im2; ?>" />
    Geändert von carolina31 (29.09.11 um 17:59 Uhr) Grund: Ja SQL-Befehl funktioniert einwandfrei!
     

  8. #8
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Also ich habe bei mir jetzt alles was die Datenbank bzw. den Datenbankeintrag angeht auskommentiert (oben die Zeilen 2, 3, 4, 10 und 11) und es läuft.

    Es muss also da irgendwo der Fehler sein!
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  9. #9
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Wirklich komisch. Ich versteh das nicht. In die Datenbank wird alles richtig eingetragen, und wenn ich $image ausgebe kommt das Bild auch richtig, sobald ich es aber weiterlaufen lasse kommen die ganzen komischen Zeichen wieder.
     

  10. #10
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ja es ist komisch. Habe jetzt eine Tabelle angelegt wie du sie hast und auch die db.php wird benützt. Also alles genauso wie bei dir.

    Aber bei mir wird alles richtig angezeigt. Gibt es bei dir noch irgendwas was du hier nicht reingestellt hast?

    Welche PHP Version hast du und auf welchem Server läuft das alles?

    Was bedeutet eigentlich "...sobald ich es weiterlaufen lasse..." ?
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  11. #11
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Nein, ich habe wirklich die beiden betroffenen Dateien komplett reingestellt!

    Ich teste alles auf XAMPP, ist die neueste Version. Liegt es vl daran?
     

  12. #12
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Mit "..solbald ich es weiterlaufen lasse.." mein ich:
    Bevor das Bild die Befehle zur Verkleinerung durchläuft funktioniert alles einwandfrei (habe davor ein echo gemacht und die Zeilen zur Verkleinerung auskommentiert).

    Sobald das Bild aber diese Zeilen durchläuft kommt der Fehler.
     

  13. #13
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Huhu es funktioniert endlich!!

    Danke für deine Mühe. Hab noch etwas herumprobiert!

    Also ich habe jz statt der inkludierten db.php die Zeilen aus dieser Datei direkt in die upload_image.php reingeschrieben und zusätzlich noch das
    Code :
    1
    
    header("Content-Type: image/jpeg");
    hinzugefügt!

    Jetzt hab ich aber noch 2 Fragen:

    1. Wie speichere ich das Verkleinerte Bild?

    2. Bisher ****t es ja nur mit .jpg. Was wenn der User ein .png oder .gif verwenden will?
     

  14. #14
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Du kannst mit $_FILES['datei']['type'] den Dateityp ermitteln und dann entsprechend die Befehle imagecreatefromjpeg, imagecreatefromgif oder eben imagecreatefrompng verwenden.

    Bild speichern geht mit imagejpeg. Musst halt dabei den gewünschten Dateinamen angeben.
    Geändert von tombe (30.09.11 um 14:13 Uhr)
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  15. #15
    carolina31 carolina31 ist offline Mitglied
    Registriert seit
    Jan 2011
    Beiträge
    11
    Alles klar. Vielen Dank für deine Hilfe!
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 21.07.11, 23:38
  2. Photoshop Bild nach Pixel vergrößern/verkleinern
    Von hanshopfen im Forum Photoshop
    Antworten: 5
    Letzter Beitrag: 05.08.10, 19:16
  3. Antworten: 3
    Letzter Beitrag: 25.05.10, 20:11
  4. ImageMagick + bild upload + bild verkleinern
    Von oldputz1990 im Forum PHP
    Antworten: 15
    Letzter Beitrag: 29.10.06, 10:47
  5. Bild Upload Nach Mysql Id
    Von Shinzo im Forum PHP
    Antworten: 2
    Letzter Beitrag: 28.12.03, 19:22

Stichworte