[PHP] Image alleen resizen zodra hij te groot is...*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kut titel vergeten te zetten: moet zijn:

[PhP]Image alleen resizen zodra hij te groot is...

Ik zit nu al een tijdje te klooien met het volgende:

Ik heb een website voor een autogarage met een leuke database, wat plaatjes upload scripten etc etc..

Alles werkt tot nu toe ik wil alleen nog 1 ding veranderen...

Ik heb een aantal tabellen waarin de aangeboden auto's worden getoond met prijs enzo

en een plaatje ($foto) nu kan je meer info opvragen voor elke auto...

in die extra info (profile.php) komen 2 plaatjes ($myrow[foto] en $myrow[foto2]...in hun volle originele grootte op de pagina met de extra info over de auto...

nu wil ik dat et plaatje idd gewoon op de page komt in zn originele grootte TENZIJ de hoogte EN/OF breedte groter is dan 480... dan moet ie et plaatje auto resizen naar 480 x 480 anders NIET...

Ik hoop dat iemand me kan helpen... ik post het hele script zodat jullie alle fouten die ik niet zie kunnen zien... bedankt voor jullie tijd alvast...

Ik heb het ff zo gedaan dat het eerste plaatje het eigenlijke resize script zou moeten zijn en dat het 2e plaatje het nu echt doet... alleen dan zonder resize... dan kunnen jullie zien waar ik het plaatje uit haal...

bedankt nogmaals...

De eigenlijke pagina's zijn op http://213.84.84.88/ict/index2.html te vinden

http://213.84.84.88/ict/php/main.php?action=New%20Cars is de pagina waar ik et over heb en dan een profile er van...

PHP:
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
62
63
64
65
66
67
68
69
70
71
72
 

<? 
  include ("connect.php"); 
  $result = mysql_query("SELECT * FROM cars WHERE carid='$carid'" ,$db); 
  $myrow = mysql_fetch_array($result); 
?> 
<link type="text/css" rel="stylesheet" href="../images/style.css"> 
<table width="485" border="0" cellpadding="0" cellspacing="0"> 
  <tr> 
    <td background="../images/tr3.jpg" height=22 align=center>
<font face=verdana size=2 color="000000"><b><? echo $myrow[naam] ?></b></font></td> 
  </tr> 

<? 

function plaatje($foto) { 
$width="420";  // maximale breedte 
$height="420"; // maximale hoogte 
$size = GetImageSize ($foto); 
if (($size[0] > $width) || ($size[1] > $height)) 
{ 
if ($size[1] <= $size[0]) 
    { 
       $height = $size[1]/$size[0] * $width;  // horizontaal 
                 } 
              else 
                {   $width = $size[0]/$size[1] * $height; //verticaal 
                } 
                } 
                else 
                { 
                $width = $size[0]; $height=$size[1]; 
                } 




} 
plaatje("http://213.84.84.88/ict/images/".$myrow[foto]); // hier gaat et fout denk ik
?> 


<table width="485" border="0" cellspacing="0" cellpadding="2" bgcolor="99CCFF"> 
  <tr> 
    <td width="6%" bgcolor="99CCFF">&nbsp;</td> 
    <td width="28%" bgcolor="CBE6FF"><font size="2" face="verdana" color="000000">Naam</font></td> 
    <td width="8%">&nbsp;</td> 
    <td width="51%" bgcolor="CBE6FF"><font size="2" face="verdana" color="000000"><? echo $myrow[naam] ?></font></td> 
    <td width="6%" bgcolor="99CCFF">&nbsp;</td> 
  </tr> 
</table> 


  <? if ($myrow[foto2]) { ?> 
  <table width="485" border="0" cellpadding="2" cellspacing="0" bgcolor="99CCFF"> 
    <tr> 
      <td align=center><br> [img]"../images/<?[/img]"></td> 
    </tr> 
  </table> 


  <? } ?> 
  <tr> 
  <table width="485" border="0" cellpadding="2" cellspacing="0" bgcolor="99CCFF"> 
    <tr> 
     <td colspan="2" background="../images/tr3.jpg" height=22 align=center>
<font face=verdana size="2" color="000000">&nbsp;&nbsp;
<a href="javascript:history.go(-1)">Back to the shop</a></font></td> 
    </tr>  
  </table> 
</table> 

[ Voor 18% gewijzigd door Verwijderd op 22-11-2002 18:27 ]


Acties:
  • 0 Henk 'm!

Verwijderd

getimagesize ipv GetImageSize?

Acties:
  • 0 Henk 'm!

Verwijderd

  • $db in regel 3 hoort waarschijnlijk een constante te zijn;
  • Een breedte van 485 in regel 7 is erg small voor mensen met een 1600 x 1200 resolutie;
  • height=22 en align=center horen height="22" en align="center" te zijn in regel 9;
  • Fonts zijn vervangen door stylesheets;
  • In je PHP moeten indents zitten, dus na elke { inspringen;
  • $myrow[foto] op regel 38 moet zijn $myrow["foto"];
  •    in regel 66 hoort met CSS opgelost te worden.

[ Voor 6% gewijzigd door Verwijderd op 22-11-2002 18:39 ]


Acties:
  • 0 Henk 'm!

  • kvdveer
  • Registratie: November 2000
  • Laatst online: 07-11-2023

kvdveer

Z.O.Z.

Leer eerst eens netjes coden!
Op regel twee voer je een query uit waarvan je de fouten niet afvangt.
Vervolgens lees je op regel 3 een row uit, ($myRow, werk je bij MS? :+), maar je controleert niet of dat wel gelukt is.
Regel 15/33 Bevat de functie die het blijkbaar niet doet. Ik kan die functie niet eens lezen. Dit topic is het bewijs dat indenten belangrijk is.

Kortom: indent je code, en probeer zelf eens de fout te achterhalen. Ga bijvoorbeeld eens debuggen!

Localhost, sweet localhost


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 22 november 2002 @ 18:39:
  • $db in regel 3 hoort waarschijnlijk een constante te zijn;
  • Een breedte van 485 in regel 7 is erg small voor mensen met een 1600 x 1200 resolutie;
  • height=22 en align=center horen height="22" en align="center" te zijn in regel 9;
  • Fonts zijn vervangen door stylesheets;
  • In je PHP moeten indents zitten, dus na elke { inspringen;
  • $myrow[foto] op regel 38 moet zijn $myrow["foto"];
  •    in regel 66 hoort met CSS opgelost te worden.
dat identen is mn enige probleem nog, ik snap et nie meer ggrrrr

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Afbeeldingslocatie: http://213.84.84.88/pix/klein.jpg


WTF!

Dat kleine puntje is het plaatje??? :? :?

heb nu om een plaatje te showen dit gedaan:

PHP:
1
2
3
4
5
6
7
8
  <? if ($myrow[foto]) {  ?>
  <table width="485" border="0" cellpadding="2" cellspacing="0" bgcolor="99CCFF"> 
    <tr> 
      <td align=center><br> [img]"../images/<?[/img]"></td> 
    </tr> 
  </table> 

  <? } ?>

[ Voor 48% gewijzigd door Verwijderd op 22-11-2002 19:17 ]


Acties:
  • 0 Henk 'm!

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 05-09 07:32

Willem2

Ω is futile

lijkt erop dat $width & $height leeg zijn:

uit jouw html code:
code:
1
[img]"../images/thumbs/carfoto1_76.jpg"[/img]

en nee, ik houd niet van voetbal... :)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Willem2 schreef op 22 november 2002 @ 19:46:
lijkt erop dat $width & $height leeg zijn:

uit jouw html code:
code:
1
[img]"../images/thumbs/carfoto1_76.jpg"[/img]
waar moet ik nu de goeie width en height max aangeven dan?

Acties:
  • 0 Henk 'm!

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 05-09 07:32

Willem2

Ω is futile

je geeft ze wel op de goede plek aan, maar de variabelen $width & $height zijn LEEG

dus waar jij ze echo-ed hebben ze geen waarde meer...

een 'global $width, $height;' binnen je functie 'plaatje' is wel handig; net als een cursus boek php denk ik... :)

en nee, ik houd niet van voetbal... :)


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Willem2 schreef op 22 november 2002 @ 22:44:
je geeft ze wel op de goede plek aan, maar de variabelen $width & $height zijn LEEG

dus waar jij ze echo-ed hebben ze geen waarde meer...

een 'global $width, $height;' binnen je functie 'plaatje' is wel handig; net als een cursus boek php denk ik... :)
ja sorry :{ maar kun je et please wat beter uitleggen, misschien in script taal?

Acties:
  • 0 Henk 'm!

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 05-09 07:32

Willem2

Ω is futile

dit bedoel ik:
PHP:
1
2
3
4
5
function plaatje($foto) {
global $width, $height;

etc.
}

en nee, ik houd niet van voetbal... :)


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function ResizeIfLarge($file)
{
  file(!file_exists($file))
  {
    $info = GetImageSize($file);
    $height = $info[1];
    $width = $info[0];

    if(($height > 480) || ($width > 480))
    {
       #image resizen, eventueel mbt de image functies in je gd of met imagemagick
        return true;
     }
     else return true;
  }
  else return false;
}

lijkt me dat moet werken. Ik neem aan dat je gd hebt geinstalled voor je getimagesize?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 23 november 2002 @ 11:21:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function ResizeIfLarge($file)
{
  file(!file_exists($file))
  {
    $info = GetImageSize($file);
    $height = $info[1];
    $width = $info[0];

    if(($height > 480) || ($width > 480))
    {
       #image resizen, eventueel mbt de image functies in je gd of met imagemagick
        return true;
     }
     else return true;
  }
  else return false;
}

lijkt me dat moet werken. Ik neem aan dat je gd hebt geinstalled voor je getimagesize?
GD ??? sorry :?

Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
GD is helemaal niet nodig voor getimagesize() hoor daniel...
Daaf, GD is een grafische library voor PHP, waarmee je plaatjes kan genereren enzo. maar deze heb je dus niet nodig daarvoor :)

[ Voor 47% gewijzigd door flat op 23-11-2002 18:57 ]

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Flat© schreef op 23 November 2002 @ 18:56:
GD is helemaal niet nodig voor getimagesize() hoor daniel...
Daaf, GD is een grafische library voor PHP, waarmee je plaatjes kan genereren enzo. maar deze heb je dus niet nodig daarvoor :)
dus? de rest klopt wel van wat ie zegt?

Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
dat weet ik niet, dat kan je zelf ook wel uitproberen lijk me :)

maar ik wilde even voorkomen dat je je hele zaterdagavond bezig bent met 't compilen van GD in PHP :P

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Flat© schreef op 23 november 2002 @ 19:04:
dat weet ik niet, dat kan je zelf ook wel uitproberen lijk me :)

maar ik wilde even voorkomen dat je je hele zaterdagavond bezig bent met 't compilen van GD in PHP :P
lol


nee hij geeft een parse error in line 16 wich is

Parse error: parse error, unexpected '{' in C:\Apache\Apache2\htdocs\ict\php\profile.php on line 16


en line 16 is de 2e {

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb nu dit:

PHP:
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
<?
function ResizeIfLarge($foto) 
{ 
  if(!file_exists($foto)) 
  {
    $info = GetImageSize($foto); 
    $height = $info[1]; 
    $width = $info[0]; 

    if(($height > 480) || ($width > 480)) 
    { 
       return false;
     } 
     else return true; 
  } 
  else return false; 
}

include ("connect.php");
$result = mysql_query("SELECT * FROM cars WHERE carid='$carid'" ,$db);
$myrow = mysql_fetch_array($result);

$foto = "../images/".$myrow[foto];
echo "Status voor de resize is ".ResizeIfLarge($foto);
?>


:( wat doe ik toch fout!!!

Acties:
  • 0 Henk 'm!

  • maartenvdv737
  • Registratie: Augustus 2000
  • Laatst online: 14-09 21:45
Warning: getimagesize: Unable to open '/images/thumbs/carfoto1_76.jpg' for reading. in C:\Apache\Apache2\htdocs\ict\php\profile.php on line 6

Ik zou zeggen, controleer het pad eens.

Ik blijf er iig vrij nuchter onder....


Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
ehm vanaf nu is 't volgens mij allemaal vrij simpel debug-werk hoor :)
iig vraag ik me af wat die "!" doet op regel 6... kan ook aan mij liggen, ben al 'n beetje te lang wakker nu
verder gewoon stuk voor stuk al je foutmeldingen afgaan en wegwerken.
nog 'n tip: die regelnummers staan er niet voor niets bij in de error ;)

edit: nokia: da's off-topic de liefde bedrijven met kleine zwarte insecten hè ;) 't ging om 't idee (en daarnaast gebruikt 90% van de mensen GD icm PHP) :)

[ Voor 31% gewijzigd door flat op 23-11-2002 19:49 ]

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

Verwijderd

Flat© schreef op 23 November 2002 @ 18:56:
GD is een grafische library voor PHP, waarmee je plaatjes kan genereren enzo. maar deze heb je dus niet nodig daarvoor :)
GD is niet alleen voor PHP. PHP kan hier alleen gebruik van maken.
Pagina: 1