Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Bildgröße auslesen bzw. ändern

Diskussion: Bildgröße auslesen bzw. ändern im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi leute, Ich hab da mal eine Frage: ich bastel grad an einer Internetseite mit php und brauch eure ...

Antwort
Alt 09.05.06, 17:33   #1 (permalink)
 
Registriert seit: 09.05.06
Jonny48000 Leistung: Facit NTK
Likes: 0
Standard Bildgröße auslesen bzw. ändern

Anzeige

Hi leute,

Ich hab da mal eine Frage: ich bastel grad an einer Internetseite mit php und brauch eure hilfe:

1) Wenn ein bild upgeloaded wird wie kann ich die Bilder auf eine bestimmte bilddatei größe bringe? z.B. ich will das kein Bild über 100kb ist.

2)Wie kann ich auslesen wie groß das bild ist(höhe - breite)? Das brauch ich das um die Bilder später richtig darstellen zu können.

Bei den bilder soll das bildvormat auch jpg, gif,bmp,png...sein können
Danke im vorraus

Jonny

P.S.: ich bin neu hier also... hi

Jonny48000 ist offline   Mit Zitat antworten
Alt 09.05.06, 18:31   #2 (permalink)
 
Benutzerbild von $oul
 
Registriert seit: 19.12.04
$oul Leistung: Z3
$oul eine Nachricht über ICQ schicken
Likes: 2
Standard

Was 2. angeht kann ich dir helfen. Die Funktion getimagesize() sollte dir helfen. (http://de2.php.net/manual/de/function.getimagesize.php)

Dürfte selbsterklärend sein.

mfg $oul
__________________
Der eigene Wille müsste stets ein wenig mächtiger sein, als es das eigene Selbst ist.
Aber Wunschdenken stellt ein Risiko dar und so etwas können wir uns in einem Weltkapitalismus nicht leisten.
$oul ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 09.05.06, 19:47   #3 (permalink)
 
Registriert seit: 20.07.05
CPU8080 Leistung: Facit NTK
CPU8080 eine Nachricht über ICQ schicken
Likes: 0
Standard RE: Bildgröße auslesen bzw. ändern

Zitat:
Original von Jonny48000
1) Wenn ein bild upgeloaded wird wie kann ich die Bilder auf eine bestimmte bilddatei größe bringe? z.B. ich will das kein Bild über 100kb ist.
Willst du abchecken lassen ob die Datei die abgeloadet wird <= 100kb ist oder willste das Bild kleiner machen lassen.
CPU8080 ist offline   Mit Zitat antworten
Alt 09.05.06, 22:00   #4 (permalink)
LX
Moderator
 
Registriert seit: 14.02.06
LX Leistung: Z3
LX eine Nachricht über ICQ schicken LX eine Nachricht über AIM schicken LX eine Nachricht über Yahoo! schicken
Likes: 21
Lightbulb

Ersteres kriegst du clientseitig mit dem Parameter MAX_FILE_SIZE im Formular hin. Außerdem gibt's noch eine php.ini-Direktive, die eine Maximalgröße auch auf Server-Seite einstellbar macht. Näheres findest du im PHP-Manual zum Thema Steuerung von Dateiuploads.
__________________
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett

JS BB LX UP
LX ist offline   Mit Zitat antworten
Alt 10.05.06, 18:16   #5 (permalink)
Themenstarter
 
Registriert seit: 09.05.06
Jonny48000 Leistung: Facit NTK
Likes: 0
Standard RE: Bildgröße auslesen bzw. ändern

@ $oul:
Danke das sollte mir helfen.

@ CPU8080:
Ich will das bild kleiner machen...

mfg, Jonny48000
Jonny48000 ist offline   Mit Zitat antworten
Alt 24.06.07, 22:19   #6 (permalink)
 
Registriert seit: 13.05.07
Gr4c3r Leistung: Facit NTK
Gr4c3r eine Nachricht über ICQ schicken
Likes: 0
Standard

Hi, ich Post hier jetz mal Mein Script, mit dem ich jedoch noch n kleines Problem hab und noch etwas um eure Hilfe bitte.

PHP-Code:
<?php
    $file 
= ($_FILES['pic']['tmp_name']);
    
$typ GetImageSize($_FILES['pic']['tmp_name']);
    
$error_pic 0;
    if(
$typ[2] == "1") {
        
ImageCreateFromGIF ($file);
        
$file "ImageCreateFromGIF";
        
$new_pic "ImageGIF";
        
$typ "gif";
    } else if(
$typ[2] == "2") {
        
ImageCreateFromJPEG ($file);
        
$file "ImageCreateFromJPEG";
        
$new_pic "ImageJPEG";
        
$typ "jpg";
    } else if(
$typ[2] == "3") {
        
ImageCreateFromPNG ($file);
        
$file "ImageCreateFromPNG";
        
$new_pic "ImagePNG";
        
$typ "png";
    } else {
        
$error_pic 1;
        echo 
"     Es werden nur *.GIF, *.JPG und *.PNG Formate unterstüzt.\n";
    }
    if(
trim($error_pic) != 1) {
        if(
move_uploaded_file($_FILES['pic']['tmp_name'], "images/".$_POST['dir']."/".$_POST['id'].".".$typ."")) {
            
$first "images/".$_POST['dir']."/".$_POST['id'].".".$typ."";
            
$size getimagesize("$first");
            
$width $size[0];
            
$height $size[1];
            if(
$width >= $_POST['width']) {
                
$width_calc $width $_POST['width'];
                
$width_new $width $width_calc;
                
$height_new $height $width_calc;
                if(
$height_new >= $_POST['height']) {
                    
$height_calc $height $_POST['height'];
                    
$height_new $height $height_calc;
                    
$width_new $width $height_calc;
                }
            } else {
                
$width_new $width;
                
$height_new $height;
            }
            if(
$height >= $_POST['height']) {
                
$height_calc $height $_POST['height'];
                
$height_new $height $height_calc;
                
$width_new $width $height_calc;
                if(
$width_new >= $_POST['width']) {
                    
$width_calc $width $_POST['width'];
                    
$width_new $width $width_calc;
                    
$height_new $height $width_calc;
                }
            } else {
                
$height_new $height;
                
$width_new $width;
            }
            
$old $file("$first");
            
$new ImageCreateTrueColor($width,$height);
            
ImageCopyResized($new,$old,0,0,0,0,$width_new$height_new,$width,$height);
            
$new_pic($new,"$first");
        }
    }
?>
Also erstmal zur Benutzung:
Um ein Bild mit dem Script hochladen zu können, brauch du noch ein Formular, dass erstmal auf das Script verweist und einen Input für "File's" hat mit der id "pic".
Am ende brauchst du für mein Script in dem Formular noch die Felder:
Code:
 echo "       <input type=\"hidden\" name=id value=(Wie das Bild heisen soll.) />\n";
 echo "       <input type=\"hidden\" name=dir value=(Endverzeichnis, in das das Bild kopiert werden soll) />\n";
echo "       <input type=\"hidden\" name=height value=(neue Bildhöhe) />\n";
echo "       <input type=\"hidden\" name=width value=(neue Bildbreite) />\n";
(Das mit dem enctype="multipart/form-data" sollte klar sein... und dass noch ein "Submit Feld kommt")

So, dann die Erläuterung der Funktion des Scripts:
Als erstes, wird in einer Variablen festgelegt, um welche Datei es sich handelt, von der dann später die Kopie erstellt wird, mit der neuen Größe und so. (ein Thumbnail).

Dann werden, in einem Array die Daten des Bildes gespeichert.
(Höhe&Breite (vorrausgesetzt Bild), Typ (JPG, PNG, TXT, etc), Größe (an verbrauchtem Speicherplatz) usw.)

In dem ersten Block mit den If-Abfragen, wird das Format geprüft (1 = GIF, 2 = JPG, 3 = PNG (des is von PHP so festgelegt.)) wenn eines der gewünschten formate übereinstimmt, gehts weiter, anderfalls wird eine fehlermeldung ausgegeben...

in der 2. If-Abfragen, wird überprüft ob bisher alles ok war.
Dann gehts weiter, mit dem Upload des Bilder, das bild ($_FILES['pic']['tmp_name']) wird nun zB in das Verzeichnis "images/Profilbilder/5.jpg"
("images/".$_POST['dir']."/".$_POST['id'].".".$typ.""
images - ist ein festgelegtes verzeichnis, dass hier im script so geschrieben ist und leich geändert werden kann
$_POST['dir'] - ist ein im formular festgelegter pfad, womit man das script mehreren upload-bereichen leichter anpassen kann.
$_POST['id'] - darin kann zB bei einem angemeldeten benutzer die benutzer-id gespeichert werden o.ä.
$typ - wird am anfang mit festgelegt, um den typ zu bestimmen)

Ab hier, wird nun das Neue Bild erstellt.
bzw die Arbeiten dafür laufen an.
der pfad wird festgelegt, wo das bild hinkommen soll.
die daten werden wieder ausgelesen...
die umrechnung wird durchgeführt. womit dass hochgeladene Bild in die neue gewünschte größe convertiert wird.
sollten die größen schon gleich oder kleiner sein, bleibt alles wie es ist.

nun wird das alte Bild, auf die neue Oberfläche "gespannt" und auf dem selben verzeichnis wieder erstellt und somit überschrieben.

----------------------

So und jetz noch zu meim problem...
Iergendwas scheint im bereich "move_ploaded_file" nich zu stimmen.
Wenn ich kleine Bilder hochlade, funktionierts meistens einwandfrei.
Bei großen (so ab 2MB) bekomm ich immer ein Ping-time-out. Ein Freund von mir hats Lokal, an einem PC hochgeladen und am selben pc empfangen, auch Ping-time-out in meinem eigenen Netzwer hab ich des Skript auch getestet funktioniert auch nicht.(Und lokal als auch im LAN sollte es schnellgenug gehn, dass ich keinen Ping-time-out bekomme oder? =/). Also ich glaub, dass es am script liegt. Kann mir das Jemand bestätigen und/oder berichtigen? Ich find einfach nix.

Ist mein erstes Script, hoffe ich hab keinen zu umfangreichen/komplizierten bzw umständlichen Code verwendet. Das Script kann weiter verwendet werden, wer es braucht.
Gr4c3r ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Bildgröße auslesen bzw. ändern
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
VB XP-Key auslesen/ändern ? Antibus Code Kitchen 6 20.08.07 19:00
Bildgröße verkleinern !SHOG! Die Problemzone 5 08.01.06 19:18
Passwort durch dass ändern der Sam Datei ändern Xalon (In)security allgemein 3 08.01.06 18:54
Passwor des "Bootmanager PRO" ändern/umgehen/auslesen oder löschen Xalon (In)security allgemein 3 01.10.05 04:41
Bildgröße ändern Voodoo (In)security allgemein 8 17.03.04 16:45


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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61