Maximale "breedte" voor een plaatje die extern gelinkt wordt
mensen kunnen dmv HTML (binnekort UBB) een profiel inelkaar zetten, en dat doen ze allemaal, en ze kunnen ook fotos en plaatjes en weet ik veel wat allemaal linken door gewoon <img src="link ... maar wat ik heel vaak ECHT HEEL VAAK zie gebeuren is dat mensen plaatjes neergooien van 1600 x 1600 ofzo of gewoon hele grote plaatjes en daardoor rekt me page heel erg lelijk uit en ziet het er allemaal niet meeruit
Nou zoek ik een manier,, waardoor ik die externe plaatjes een MAX breedte kan geven
ik ben zelf helemaal niet thuis in GD vandaar dat ik het vraag
mijn page staat een plaatje van width=500 wel toe meer niet dus een soort code waarin staat dat als het plaatje breder is dan 500 pix dat hij hem dan kleiner maakt.
Maar dan wil ik alleen dat hij in de <src with=500 ofzo neerzet dus niet dat hij het helemaal resized enzo want dan moet hij opgeslagen worden op me server en dat wil ik niet....
ik hoop dat jullie het begrijpen,, ik zoek me helemaal suf maar ken het niet vinden
wel heb ik bij de member fotos gewoon width=250 gezet en dan pakt hij de hoogte er op de goede groote bij,, zoiets moet ik dus ook hebben voor die gelinkte plaatjes alleen moet hij eerst checken of die plaatje past en zo niet dat hij hem dan pas een kleinere width geeft
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
// code aanpassen
}
?>
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
// code aanpassen
}
?>
Wat je wel kan doen, is controleren of de afbeelding hoger is dan 500, of breder, wanneer dat zo is, dan de grootste waarde verkleinen naar 500, en geen andere waarde opgeven, dan verkleint die hem naar een maximale hoogte of breedte van 500 px. en de verhouding blijft dan gelijk. En wanneer de afbeelding geen limiet overschrijdt, kan je hem wel gewoon weer laten geven.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" width=\"500\" />";
}else{
echo "<img src=\"http://blaat.com/blaat.jpg\" />";
}
?>
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" width=\"500\" />";
}else{
echo "<img src=\"http://blaat.com/blaat.jpg\" />";
}
?>
EDIT: backslashes vergeten
Gewijzigd op 09/01/2006 13:42:00 door PurpleMadness -
Jan:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
// code aanpassen
}
?>
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
// code aanpassen
}
?>
ja maar kijk als ik nou <img src=heelgrootplaatje.jpg> in me profiel neerzet
dan doet deze code niks,, .... en meestal zie je dat soort code in die profieltjes...
of tables die niet afsluiten en dan je hele page verkloten.......
Gewijzigd op 09/01/2006 13:45:00 door R
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$dimensions = getimagesize ($img);
$width = $dimensions[0];
$height = $dimensions[1];
if ($width > $height && $width < 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" width=\"500\" />";
}
else if ($height > $width && $height < 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" height=\"500\" />";
}
else if ($height == $width && $height < 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" height=\"500\" />";
}
else{
echo "<img src=\"http://blaat.com/blaat.jpg\" />";
}
?>
$dimensions = getimagesize ($img);
$width = $dimensions[0];
$height = $dimensions[1];
if ($width > $height && $width < 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" width=\"500\" />";
}
else if ($height > $width && $height < 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" height=\"500\" />";
}
else if ($height == $width && $height < 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" height=\"500\" />";
}
else{
echo "<img src=\"http://blaat.com/blaat.jpg\" />";
}
?>
Robert:
Het ging om hoogte OF breedte, die niet groter mochten dan 500:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$dimensions = getimagesize ($img);
$width = $dimensions[0];
$height = $dimensions[1];
if ($width > $height && $width < 500) {
echo "<img src="http://blaat.com/blaat.jpg" width="500" />";
}
else if ($height > $width && $height < 500) {
echo "<img src="http://blaat.com/blaat.jpg" height="500" />";
}
else if ($height == $width && $height < 500) {
echo "<img src="http://blaat.com/blaat.jpg" height="500" />";
}
else{
echo "<img src="http://blaat.com/blaat.jpg" />";
}
?>
$dimensions = getimagesize ($img);
$width = $dimensions[0];
$height = $dimensions[1];
if ($width > $height && $width < 500) {
echo "<img src="http://blaat.com/blaat.jpg" width="500" />";
}
else if ($height > $width && $height < 500) {
echo "<img src="http://blaat.com/blaat.jpg" height="500" />";
}
else if ($height == $width && $height < 500) {
echo "<img src="http://blaat.com/blaat.jpg" height="500" />";
}
else{
echo "<img src="http://blaat.com/blaat.jpg" />";
}
?>
hey thanks,, ja hoogte maakt niet uit,,, dan rekt de page wel mee maar breedte irriteerde me al een tijd,, ik wist niet van getimagesize ... heb ff op php.net gekeken,,,
maargoed in iedergeval het lijkt hier te werken,, maar zit nu ff op werk dus kan het niet op me site testen,,
maar ik laat het jullie weten!! thanks!!
@Robert: < 500 moet > 500 zijn.
Wat ben je weer scherp vandaag :D
kijk wanneer mensen bij mij hun profiel gaan bewerken... dan krijgen ze een groot teksvlak waar ZIJ html in kunnen zetten....
dit wordt opgeslagen in 1 veld..... als een groot stuk tekst zeg maar....
dus eigelijk moet hij gewoon elk plaatje dat groter is in dat profiel dan 500PIX verkleinen...
als ik dan kijk naar...
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" width=\"500\" />";
}else{
echo "<img src=\"http://blaat.com/blaat.jpg\" />";
}
?>
$dimensions = getimagesize ($img);
$width = $dimensions[0];
if ($width > 500) {
echo "<img src=\"http://blaat.com/blaat.jpg\" width=\"500\" />";
}else{
echo "<img src=\"http://blaat.com/blaat.jpg\" />";
}
?>
dan doethij dat alleen voor 1 plaatje,,, maar ik weet niet welke url's die mensen gebruiken....
ik kom er echt niet uit...
Je kan een tekstveld maken waar ze de URL moeten voeren van een afbeelding, en dan laat je automatisch de <img tag genereren., dan heb je de url van de afbeelding, en kan je automatisch de grootte aanpassen in de code. Tjah.. en verder is het wachten dus op je UBB parser.
Willem-Jan:
reguliere expressies, vraag niet hoe ze werken.
http://www.php.net/eregi_replace
http://www.php.net/eregi_replace
ja ik ken het wel,, zelf gebruik ik het voor me aanmeld form.... maar ik weet niet hoe ik dat moet doen met dat plaatje,,,
hij moet dus eigelijk die hele proifiel doorlezen en aan het einde alle plaatjes die breder zijn dan 500pix verkleinen naar max 500pix....
ik kom er al eenhele tijd niet uit :S
Robert:
Je kan een tekstveld maken waar ze de URL moeten voeren van een afbeelding, en dan laat je automatisch de <img tag genereren., dan heb je de url van de afbeelding, en kan je automatisch de grootte aanpassen in de code. Tjah.. en verder is het wachten dus op je UBB parser.
ja maarja dan zijn ze niet echt vrij om zo een profiel inelkaar te zetten zeg maar,,, dan zet ik bijv 5 invoer velden neer hebben ze 5 plaatjes.....
het moet toch ook kunnen in HTML ?
op www.partypeeps2000.com hebben ze het ook als een plaatje zeg maar heel groot is dan zie dat wanneer de page volledig geladen is al die plaatjes worden geresized... en die plaatjes staan dan nog steed op externe servers....
niemand????????????????????
Waarschijnlijk doen ze dat gewoon in HTML. De plaatjes worden dus niet fysiek geresized, maar de browser zoomt ze gewoon uit.
Jan:
Waarschijnlijk doen ze dat gewoon in HTML. De plaatjes worden dus niet fysiek geresized, maar de browser zoomt ze gewoon uit.
ja maar hoe dan? want de browser doet dat niet uit zichzelf....
wel als je bijv een groot plaatje blanco opent,, maar niet in een page