php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.09.2004, 09:17  
Gast
 
Beiträge: n/a
Standard Bild per getimagesize...

Zur Erklärung:

Hab mir da was zusammen gebastelt und zwar...

kann ich bilder (kleine und grosse getrennt) uploaden diese werden am server gespeichert in verschiedenen Ordnern(kl_bild , gr_bild) der string wird wiederrum in die Db gespeichert und anschliesend von meinem script ausgelesen um diese anzuzeigen! Anzumerken wäre wenn ich auf das kleine Bild klicke werde ich verlinkt auf das grosse(ohne Pop Up) das funktioniert alles:) nur jetzt bin ich drann gegangen um zu verhindern das mir einer sozusagen den Rahmen sprengt wenn er mir ein Bild von 1024*768 z.B. einfügt mit getimagesize und ein paar einfachen rechnungen zu werkeln. Also mein code:


PHP-Code:
<?php
$colname_gr_bild 
"1";
if (isset(
$_GET['id'])) {
  
$colname_gr_bild = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}

mysql_select_db($database_database$database);
$query_gr_bild sprintf("SELECT * FROM tbl_news WHERE id = %s"$colname_gr_bild);
$gr_bild mysql_query($query_gr_bild$database) or die(mysql_error());
$row_gr_bild mysql_fetch_assoc($gr_bild);
$totalRows_gr_bild mysql_num_rows($gr_bild);

$test getimagesize($row_gr_bild['gr_bild']);
$neueBreite $test[0];
$neueHöhe $test[1];


if (
$test[0] > 550) {
    
$breite $test[0];
    
$höhe=$test[1];
    
$neueBreite=550;
    
$testtmp intval($breite/100);
    
$testtmp2 intval(550/$testtmp);
    
$neueHöhe intval($höhe/100*$testtmp2);
}
if (
$test2[1] > 450) {
    
$breite $neueBreite;
    
$höhe $neueHöhe;
    
$neueHöhe=450;
    
$testtmp intval($höhe/100);
    
$testtmp2 intval(450/$testtmp);
    
$neueHöhe intval($breite/100*$testtmp2);

}

?>


<table width="100%" border="0">
  <tr>
    <td align="center" valign="middle">[img]<?php echo $row_gr_bild['gr_bild']?>[/img] HEIGHT="<?php echo $neueHöhe?>">
    </td>
  </tr>
</table>
<?php
mysql_free_result
($gr_bild);
?>

Dieses funktioniert soweit wenn ich ein Bild eingebe dessen Breite mehr als 550 hat wird es verkleinert...

Aber und nun zum springendem Punkt:

Es giebt nicht nur Bilder mit mehr breite als höhe sondern auch z.B. welche mit 400*600 da stosse ich auf ein Problem (da die erste rechnung es durch lässt weil es nicht mehr wie 550 breite hat) da er mir das Bild obwohl es bei der Breite funktioniert bei der selben Rechnung!?! nicht anzeigt

kann auch sein das ich in der Ausgabe ein problem habe...

Bitte um Hilfe

mfg
garrik
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.09.2004, 09:36  
Gast
 
Beiträge: n/a
Standard

Zitat:
if ($test2[1] > 450) {
Wo kommt $test2 her?

Du solltest Deine Skripte mit error_reporting=E_ALL entwickeln und entweder die Log-Dateien des webserver im Auge behalten oder display_errors auf on setzen. Dann werden Dir Fehler dieser Art (ich nehme mal an, dass das ein Fehler ist) angezeigt.

siehe auch: http://php.net/error_reporting ff.
 
Alt 29.09.2004, 09:49  
Gast
 
Beiträge: n/a
Standard

mein Fehler war gerade am austesten so müsste es richtig lauten!

PHP-Code:
if ($neueHöhe[1] > 450) {
    
$breite $neueBreite;
    
$höhe $neueHöhe;
    
$neueHöhe=450;
    
$testtmp intval($höhe/100);
    
$testtmp2 intval(450/$testtmp);
    
$neueHöhe intval($breite/100*$testtmp2); 
mfg
 
Alt 29.09.2004, 10:01  
Gast
 
Beiträge: n/a
Standard

sodala habe error_reporting(E_ALL) dran

am webserver log is auch nichts besonderes

display_errors is auch on...

und bekommen keine fehler ausgegeben...

test2 war nurn versuch von mir hab ich vergessen zum raus geben hatte ich oben auch drinn

den neuen code hast ja im voran gegangenen Post gelesen.

Hilfe :(

mfg
 
Alt 29.09.2004, 10:01  
Gast
 
Beiträge: n/a
Standard

Was da schief läuft, sehe ich auf Anhieb nicht.
Aber Du kannst es mal mit
PHP-Code:
<?php
/*
$test = getimagesize($row_gr_bild['gr_bild']);
if(false===$test)
    die('Bilddimensionen können nicht ermittelt werden');
*/

$test = array(0=>5500,1=>9000);     // Testwerte

$scale_x = (float)$test[0]/550.0;
$scale_y = (float)$test[1]/450.0;

if(
$scale_x 1.0 || $scale_y 1.0)
    
$scale max($scale_x$scale_y);
else
    
$scale 1;
?> 
[img]...[/img]" height="<?php echo (int)($test[1]*$scale); ?>" />
versuchen
 
Alt 29.09.2004, 10:24  
Gast
 
Beiträge: n/a
Standard

Ja es geht hab mich irgendwie im syntax vertendelt


Fehler:

PHP-Code:
$neueHöhe intval($breite/100*$testtmp2); 
so wars...

und so wärs richtig gewesen ich schreibfauler hund mit copy und paste :P

PHP-Code:
$neueBreite intval($breite/100*$testtmp2); 

in der zweiten Rechnung sollte halt im Prinzip nicht dasselbe berechnet werden wie in der ersten....

naja warum sollte man schlaf wohl brauchen

mfg
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Es erscheint das alte Bild (cache problem) !! mac PHP-Fortgeschrittene 12 18.05.2011 11:23
getimagesize kann die Größen nicht aus dem Bild lesen spotnik PHP Tipps 2008 11 09.05.2008 20:49
Bild onMouseOver einblenden rocco HTML, Usability und Barrierefreiheit 8 22.02.2008 12:52
Transparentes Bild über Bild legen *update gelöst* Broadcast PHP-Fortgeschrittene 11 04.02.2008 15:27
Dynamische Bildgenerierung: Bild ändert sich nicht Jacks Rache PHP Tipps 2006 1 03.09.2006 10:01
[Erledigt] Nächstes Bild, Vorheriges Bild in PHP mit MySQL Datenbanken 2 15.05.2006 20:50
[Erledigt] Bild immerwieder holen PHP Tipps 2006 2 18.02.2006 01:24
[Erledigt] Bild aus Datei in Bild einfügen PHP Tipps 2005-2 1 07.08.2005 23:36
[PHP«Image] Bild in ein anderes Bild einsetzen PHP Tipps 2005-2 4 07.08.2005 19:39
bild na variable holen... md5hash PHP Tipps 2005-2 5 16.06.2005 01:07
[Erledigt] Bild neu laden. HTML, Usability und Barrierefreiheit 1 08.02.2005 21:59
[Erledigt] [JS]Neues Bild in neuem Fenster öffnen HTML, Usability und Barrierefreiheit 1 04.01.2005 11:39
Bild aus Server anzeigen lassen flual2000 PHP Tipps 2004 4 26.10.2004 16:33
Bild größe hat prob mit umbenennung. JEGO PHP Tipps 2004 1 08.07.2004 16:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
per getimagesize, wie kann ich die gesamtbreite mit get image size

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.