#1 6. August 2009 Hallo habe ein kleines anliegen... könnte mir vieleicht jemand erklären (so das ich es 100% kapiere) wie ich es schaffe in folgendem code es so einzurichten das er nur bei jpg/jpeg/JPG/JPEG Thumbs erstellt und auch nur dann ausgibt? PHP: <? $thumbsize = 120 ; $imgfile = "files/ $newname " ;list( $width , $height ) = getimagesize ( $imgfile ); $imgratio = $width / $height ;if ( $imgratio > 1 ){ $newwidth = $thumbsize ; $newheight = $thumbsize / $imgratio ;}else{ $newheight = $thumbsize ; $newwidth = $thumbsize * $imgratio ;} $thumb = ImageCreateTrueColor ( $newwidth , $newheight ); $source = imagecreatefromjpeg ( $imgfile ); imagecopyresized ( $thumb , $source , 0 , 0 , 0 , 0 , $newwidth , $newheight , $width , $height ); imagejpeg ( $thumb , "thumb_files/thumb_ $newname " , 100 );} for ( $i = 0 ; $i < 1 ; $i ++){echo "<img src='http://www.xxx.net/test/thumb_files/thumb_ $newname ' ></a><br><br><br>" ;echo "<b>Thumbnail Forums 1</b><br>" ;echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: http://www.xxx.net/test/thumb_files/thumb_' . htmlspecialchars ( $newname ) . '} [/url]" name="foo" /><br>' ; echo "<b>IMG Tag</b><br>" ;echo '<input type="text" size="70" value="{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} " name="foo" /><br>' ; echo "<b>Direct link to image</b><br>" ;echo '<input type="text" size="70" value="http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '" name="foo" /><br>' ; echo "<b>Hotlink Forum 1</b><br>" ;echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} [/url]" name="foo" /><br>' ; echo "<b>Hotlink Forum 2</b><br>" ;echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][img=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][/url]" name="foo" /><br>' ; echo '' ; //dieses echo stehen lassen da kommt was rein! }} else{echo "wait a moment while uploading!" ;} ?> habe mir überlegt es so zu machen: PHP: list( $width , $height , $flag ) = getimagesize ( $imgfile ); if( $flag == 2 ) { // ja ist ein JPEG } else { // ist kein JPEG } aber es kommt nur ein sytax fehler den ich nicht verstehe da ich es nicht mit der ausgabe so hinbekomme denke ich...bin noch ganz frisch in php hocke seit wochen an dem script und komme gerade überhaubt nicht weiter...BW ist klar und nen fetts THX + Multi-Zitat Zitieren
#2 7. August 2009 AW: Überprüfung ob jpeg/jpg...dann erst Thumb erstellen?! Also als aller erstes, die getimagesize Methode ist relativ unsicher. Da nicht der Header des Bildes gecheckt wird. Aber davon mal abgesehen. Wie sieht dein Syntax Fehler aus? Ohne den kann man nicht so wirklich helfen. Also hierbei: PHP: list( $width , $height , $flag ) = getimagesize ( $imgfile ); if( $flag == 2 ) { // ja ist ein JPEG } else { // ist kein JPEG } ist alles soweit richtig und gibt keinen Syntaxerror aus. + Multi-Zitat Zitieren
#3 7. August 2009 AW: Überprüfung ob jpeg/jpg...dann erst Thumb erstellen?! soo habe mal es so eingebaut wie ich php verstanden habe...bitte nicht lachen ist bestimmt eh total falsch PHP: <? php$thumbsize = 120 ; $imgfile = "files/ $newname " ;list( $width , $height , $flag ) = getimagesize ( $imgfile );if( $flag == 2 ) { $imgratio = $width / $height ;if ( $imgratio > 1 ){ $newwidth = $thumbsize ; $newheight = $thumbsize / $imgratio ;}else{ $newheight = $thumbsize ; $newwidth = $thumbsize * $imgratio ;} $thumb = ImageCreateTrueColor ( $newwidth , $newheight ); $source = imagecreatefromjpeg ( $imgfile ); imagecopyresized ( $thumb , $source , 0 , 0 , 0 , 0 , $newwidth , $newheight , $width , $height ); imagejpeg ( $thumb , "thumb_files/thumb_ $newname " , 100 );} for ( $i = 0 ; $i < 1 ; $i ++){echo "<img src='http://www.xxx.net/test/thumb_files/thumb_ $newname ' ></a><br><br><br>" ;echo "<b>Thumbnail Forums 1</b><br>" ;echo '<input type="text" size="70" value="[URL=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: http://www.xxx.net/test/thumb_files/thumb_' . htmlspecialchars ( $newname ) . '} [/URL]" name="foo" /><br>' ; echo "<b>IMG Tag</b><br>" ;echo '<input type="text" size="70" value="{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} " name="foo" /><br>' ; echo "<b>Direct link to image</b><br>" ;echo '<input type="text" size="70" value="http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '" name="foo" /><br>' ; echo "<b>Hotlink Forum 1</b><br>" ;echo '<input type="text" size="70" value="[URL=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} [/URL]" name="foo" /><br>' ; echo "<b>Hotlink Forum 2</b><br>" ;echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][img=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][/url]" name="foo" /><br>' ; echo '' ; //dieses echo stehen lassen da kommt was rein! }else{ for ( $i = 0 ; $i < 1 ; $i ++){ echo "<b>IMG Tag</b><br>" ;echo '<input type="text" size="70" value="{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} " name="foo" /><br>' ; echo "<b>Direct link to image</b><br>" ;echo '<input type="text" size="70" value="http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '" name="foo" /><br>' ; echo "<b>Hotlink Forum 1</b><br>" ;echo '<input type="text" size="70" value="[URL=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} [/URL]" name="foo" /><br>' ; echo "<b>Hotlink Forum 2</b><br>" ;echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][img=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][/url]" name="foo" /><br>' ; echo '' ; //dieses echo stehen lassen da kommt was rein! } ?> da kommt aber nur: Parse error: syntax error, unexpected T_ELSE in /www/htdocs/v154/test/index.php on line 129 (line 129 = }else{ ) edit: also bei selfhtml habe ich gelesen das getimagesize() den header schon ausliest + Multi-Zitat Zitieren
#4 7. August 2009 AW: Überprüfung ob jpeg/jpg...dann erst Thumb erstellen?! hi, hab mir mal die mühe gemacht um dein code durch zu formatieren. läßt sich so besser lesen und fehler erkennen. also, du beginnst mit einer schleife (zeile 20) schließt diese in zeile 39 und hängst ein else anweisung dran. in else wieder eine schleife ohne schließen ( } ). das problem: wo ist die if anweisung ? PHP: <? php$thumbsize = 120 ; $imgfile = "files/ $newname " ;list( $width , $height , $flag ) = getimagesize ( $imgfile );if( $flag == 2 ) { $imgratio = $width / $height ; if ( $imgratio > 1 ){ $newwidth = $thumbsize ; $newheight = $thumbsize / $imgratio ; }else{ $newheight = $thumbsize ; $newwidth = $thumbsize * $imgratio ; } $thumb = ImageCreateTrueColor ( $newwidth , $newheight ); $source = imagecreatefromjpeg ( $imgfile ); imagecopyresized ( $thumb , $source , 0 , 0 , 0 , 0 , $newwidth , $newheight , $width , $height ); imagejpeg ( $thumb , "thumb_files/thumb_ $newname " , 100 );} for ( $i = 0 ; $i < 1 ; $i ++){ echo "<img src='http://www.xxx.net/test/thumb_files/thumb_ $newname ' ></a><br><br><br>" ; echo "<b>Thumbnail Forums 1</b><br>" ; echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: http://www.xxx.net/test/thumb_files/thumb_' . htmlspecialchars ( $newname ) . '} [/url]" name="foo" /><br>' ; echo "<b>IMG Tag</b><br>" ; echo '<input type="text" size="70" value="{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} " name="foo" /><br>' ; echo "<b>Direct link to image</b><br>" ; echo '<input type="text" size="70" value="http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '" name="foo" /><br>' ; echo "<b>Hotlink Forum 1</b><br>" ; echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} [/url]" name="foo" /><br>' ; echo "<b>Hotlink Forum 2</b><br>" ; echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][img=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][/url]" name="foo" /><br>' ; echo '' ; //dieses echo stehen lassen da kommt was rein! }else{ for ( $i = 0 ; $i < 1 ; $i ++){ echo "<b>IMG Tag</b><br>" ; echo '<input type="text" size="70" value="{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} " name="foo" /><br>' ; echo "<b>Direct link to image</b><br>" ; echo '<input type="text" size="70" value="http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '" name="foo" /><br>' ; echo "<b>Hotlink Forum 1</b><br>" ; echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . ']{bild-down: [url]http://www.xxx.net/test/files/[/url]' . htmlspecialchars ( $newname ) . '} [/url]" name="foo" /><br>' ; echo "<b>Hotlink Forum 2</b><br>" ; echo '<input type="text" size="70" value="[url=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][img=http://www.xxx.net/test/files/' . htmlspecialchars ( $newname ) . '][/url]" name="foo" /><br>' ; echo '' ; //dieses echo stehen lassen da kommt was rein! } ?> so könnte ein if else anweisung aussehen. PHP: $i = 0 ; $n = 1 ;if ( $i >= $n ){ echo 'i ist größer gleich als n' ;}else { echo 'i ist kleiner als n' ;} was genau hast du vor? // edit header vom bild lesen PHP: $imgfile = "cmyb.jpg" ; $get_mime_type = getimagesize ( $imgfile );echo $get_mime_type [ 'mime' ]; // ausgabe: image/tiff // edit2 hier mal nur bild skalieren PHP: $thumbsize = 120 ; $imgfile = "anfahrt.jpg" ; $imginfo = getimagesize ( $imgfile ); $width = $imginfo [ 0 ]; $height = $imginfo [ 1 ]; $format = $imginfo [ 'mime' ]; if( $format == 'image/jpeg' ) { $imgratio = $width / $height ; if ( $imgratio > 1 ){ $newwidth = $thumbsize ; $newheight = $thumbsize / $imgratio ; }else{ $newheight = $thumbsize ; $newwidth = $thumbsize * $imgratio ; } $thumb = ImageCreateTrueColor ( $newwidth , $newheight ); $source = imagecreatefromjpeg ( $imgfile ); imagecopyresized ( $thumb , $source , 0 , 0 , 0 , 0 , $newwidth , $newheight , $width , $height ); imagejpeg ( $thumb , 'thumb_' . $imgfile , 100 );} + Multi-Zitat Zitieren
#5 7. August 2009 AW: Überprüfung ob jpeg/jpg...dann erst Thumb erstellen?! Ich versteh von dem ganzen Quelltext schonmal gar nicht was das hier soll: PHP: for ( $i = 0 ; $i < 1 ; $i ++){ i=0, erhöhe i aber nur solange bis es nicht größer als 0 ist. Ergebnis=0 Wofür braucht man wenn eine Sache nur einmal ausgegeben werden soll eine Schleife? + Multi-Zitat Zitieren
#6 8. August 2009 AW: Überprüfung ob jpeg/jpg...dann erst Thumb erstellen?! eigentlich nur ein bilderhostigscript...ehrlich...ich schnall gerade garnicht warum das nicht geht? ?( + Multi-Zitat Zitieren
#7 8. August 2009 AW: Überprüfung ob jpeg/jpg...dann erst Thumb erstellen?! Benutz mal Notepad++...geh bei for ($i=0;$i<1;$i++){ auf die geschweifte Klammer und schau wo sie endet..Genau bei }else{ for ($i=0;$i<1;$i++){ Forschleife und else? Niemals im Leben. Wo ist deine If Abfrage? Dazu kommt noch, dass else gar nicht mit der geschweiften Klammer geschlossen wird. Und das beste..Mal rein theoretisch gedacht, wenn das mit for und else funktionieren würde.. Schau mal PHP: for ( $i = 0 ; $i < 1 ; $i ++){}else{for ( $i = 0 ; $i < 1 ; $i ++){ }} Mal ehrlich wo ist da der Sinn? Das sind genau die gleichen For-Schleifen.. Das ist wie wenn du schreibst: PHP: if( $a == $b ){echo "ab" ;}else if( $a == b ){echo "ab" ;} + Multi-Zitat Zitieren