login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Foto verkleinen om te gebruiken als background image (Opgelost)

Offline WouterPSV - 14/03/2011 16:30
Avatar van WouterPSVLid Hallo,

Ik heb een div van 640px breed.
Nu moet daar een foto van 1600 breed als achtergrond worden gezet. Ik kan de foto in photoshop niet verkleinen, omdat er dagelijks een nieuwe foto is.

Weet iemand hoe ik dit kan doen met html en eventueel php daarbij.

Ik had de resize functie van PHP.net

  1. // The file
  2. $filename = 'http://images.realworks.nl/servlets/images/media.objectmedia/17219834?height=1600&check=md5%3A1064980403211434a60f7396baec4969&width=1600';
  3. //$percent = 0.5;
  4.  
  5. // Content type
  6. header('Content-type: image/jpeg');
  7.  
  8. // Get new dimensions
  9. list($width, $height) = getimagesize($filename);
  10. $new_width = 641;
  11. $new_height = 427;
  12.  
  13. // Resample
  14. $image_p = imagecreatetruecolor($new_width, $new_height);
  15. $image = imagecreatefromjpeg($filename);
  16. imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
  17.  
  18. // Output
  19. imagejpeg($image_p, null, 100);


Al gebruikt, maar dan krijg ik de error:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Makelaardij Zuidhorn\template.php:2) in C:\xampp\htdocs\Makelaardij Zuidhorn\index.php on line 28

Alvast bedankt.

9 antwoorden

Gesponsorde links
Offline Maarten - 14/03/2011 16:32 (laatste wijziging 14/03/2011 16:33)
Avatar van Maarten Erelid Omdat je ergens boven dat stuk code reeds output verstuurt naar je pagina.

BTW, ik wil niet zagen, maar:
http://www.goog...ca7628738a
Deze vraag is hier al minstens 243 keer gesteld.
Offline WouterPSV - 14/03/2011 16:44
Avatar van WouterPSV Lid Ik kom uit op iets dergelijks zoals :

  1. <?php
  2. ob_start(); // helemaal boven aan mogen geen spaties voor zitten
  3. // de rest van alle php code
  4. ob_end_flush(); // op het einde van de pagina
  5. ?>


Gebruik ik dat echter dan krijgen ik alleen de URL terug op een witte pagina..
Offline Maarten - 14/03/2011 18:07
Avatar van Maarten Erelid Dat is eigenlijk een workaround waar je niks van bijleert, het komt er op neer dat je ergens voor de regel waar header() staat output gaat versturen. Post eens de hele code van dat bestand op plaatscode.be
Offline WouterJ - 14/03/2011 18:08
Avatar van WouterJ HTML gevorderde Elke pagina stuurt headers (HTTP request) naar het browser. Daardoor weet het browser welke pagina het is, de character set, enz. Met de PHP functie header kun je daar nog wat andere headers aan toevoegen of wijzigen.
Alle headers worden altijd verstuurd met voordat er output naar de browser gaat, dus er wordt daarvoor niks geëchoëd of in HTML opgeschreven.

Als je de header functie dus ergens halverwege plaatst of ergens na een echo zijn de headers al verstuurd, als je dit toch probeert krijg je een Header Already Sent error (headers zijn al verzonden). Het is alsof je nog een extra persoon in een trein wilt stoppen die al weg is gegaan, die persoon is dan een header.

Om dit te voorkomen moet je dus de PHP code voor het doctype zetten (is sowieso wel gewenst) en mag je geen echo voor deze header zetten.
Offline WouterPSV - 14/03/2011 19:30 (laatste wijziging 14/03/2011 19:31)
Avatar van WouterPSV Lid Mijn Index.php Plaatscode: 140814
Mijn Template.php Plaatscode: 140815
Offline WouterJ - 14/03/2011 21:11
Avatar van WouterJ HTML gevorderde In index.php heb je voor de header functie dit staan:
  1. <div id="right_content">
  2. <div id="house_main">

Daarom werkt het niet. Handel altijd alle PHP al af voor het doctype, en vooral met headers.
Offline WouterPSV - 14/03/2011 21:42
Avatar van WouterPSV Lid MAar de filename wordt uiteindelijk gevuld met een gegeven uit de database
Offline WouterJ - 15/03/2011 06:54
Avatar van WouterJ HTML gevorderde Volgens mij weet jij niet echt wat de code header('Content-Type: image/jpeg') doet. Wat deze header doet is van het hele bestand een afbeelding maken (jpg afbeelding om precies te zijn). Dat wil je niet je wilt alleen een background image resizen. Dus dan plaats je deze php code in het bestand van de afbeelding. Die noem je dan .php en die kan je door de header gewoon inladen als image.
Bedankt door: Ontani
Offline WouterPSV - 15/03/2011 14:35
Avatar van WouterPSV Lid Ik weet wat het doet, maar als ik het in een lost bestand zet, hoe kan ik de filename laten vullen door de database met een link?
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.496s