login  Naam:   Wachtwoord: 
Registreer je!
 Forum

GD Plaatje werkt niet helemaal

Offline Bloodlurker - 28/09/2008 15:55 (laatste wijziging 28/09/2008 16:22)
Avatar van BloodlurkerNieuw lid Beste, ik heb de volgende code:

  1. <?php
  2. $achtergrond = array('1.jpg', '2.jpg');
  3. $img = imagecreatefromjpeg($achtergrond[rand(0, 1)]);
  4.  
  5.  
  6. $color = ImageColorAllocate($img, 227, 000, 079);
  7. ImageColorTransparent($img, $color);
  8.  
  9. header('content-type: image/jpg');
  10.  
  11. imagejpeg($img);
  12. imagedestroy($img);
  13. ?>


Probleem nu enkel is dat ik 'dacht' dat je de .php file kunt hernoemen naar iets van bijvoorbeeld

avatar.jpg

en deze vervolgens gewoon kunt benaderen. dit lukt dus niet.
als ik hem benader wilt hij de avatar.jpg downloaden inplaats van dat hij het plaatje laat zien.

kan iemand mij vertellen wat er verkeerd is svp?

groetjes

10 antwoorden

Gesponsorde links
Offline Joost - 28/09/2008 16:32 (laatste wijziging 28/09/2008 16:32)
Avatar van Joost PHP expert Gewoon als .php opslaan... Of de afbeelding die wordt weergegeven opslaan en die hernoemen naar avatar.jpg 
Offline Bloodlurker - 28/09/2008 16:34
Avatar van Bloodlurker Nieuw lid nou, probleem is dat bij veel dingen als je een avatar wilt geven je alleen mag linken naar een .JPG bestand... ik had vroeger wel gedaan dat ik de .php hernoemde naar .JPG en dit werkte perfect alleen werkt het nu niet meer...

Enkel, kan ik me niet herinneren of je dan een stuk code erbij moest hebben of iets...

Dus was nieuwsgierig of iemand dat wist ;)
Offline Kr4nKz1n - 28/09/2008 17:59
Avatar van Kr4nKz1n Onbekend Je kan deze pagina gewoon gebruiken als afbeelding met de img tag. Omdat je in de header zegt dat het een jpeg plaatje is.
Offline Joost - 28/09/2008 18:48
Avatar van Joost PHP expert
Kr4nKz1n schreef:
Je kan deze pagina gewoon gebruiken als afbeelding met de img tag. Omdat je in de header zegt dat het een jpeg plaatje is.
Niet wanneer je het als plaatje moet uploaden / url invoeren, en de maker van de applicatie checkt of het wel een .jpg bestand is 
Offline Martijn - 28/09/2008 19:18
Avatar van Martijn Crew PHP je zou kunnen proberen door in een header neer te zetten dat het een jpg'tje is. Want ik weet bijna zeker dat ie gewoon alleen een mimecheck doet.
Offline Bloodlurker - 28/09/2008 19:37 (laatste wijziging 28/09/2008 19:43)
Avatar van Bloodlurker Nieuw lid header('content-type: image/jpg');

heb ik inderdaad maar vroeger deed ik het makkelijker.
Ik noemde het .php bestand gewoon .jpg en het werkte perfect...

als ik dan www.mijnsite.nl/images/plaatje.jpg in tikte in de URL dan kreeg ik mooi mijn plaatje te zien xD

en dat is wat ik nodig heb maar het wilt nu niet lukken haha


p.s. als ik hem nu hernoem het enigste wat ik zie is:

http://mijnsite.nl/avatar.jpg


inplaats van dat hij werkt
Offline Sam - 28/09/2008 19:38
Avatar van Sam PHP expert Ik heb dit probleem zelf ooit ook eens opgelost met mod_rewrite via een tutorial op SiMa, dus als je even zoekt tussen tutorials zul je wel zien wat ik bedoel...

@DeviourSoul: Als je met php werkt heb je de mogelijkheid om de header van je bestand te zetten. Standaard is de header html/plain, maar met dit stukje code: header('content-type: image/jpg'); zorg je ervoor dat de header image/jpg is.

Grtz,
Sam
Offline Martijn - 28/09/2008 20:28
Avatar van Martijn Crew PHP
samscam schreef:
@DeviourSoul: Als je met php werkt heb je de mogelijkheid om de header van je bestand te zetten. Standaard is de header html/plain, maar met dit stukje code: header('content-type: image/jpg'); zorg je ervoor dat de header image/jpg is.


weet ik, daarom zei ik het ook 
Offline Bloodlurker - 28/09/2008 22:22 (laatste wijziging 28/09/2008 22:45)
Avatar van Bloodlurker Nieuw lid werkt nu perfect! hartelijk dank!

rest mij nog één vraag nml:
de tekst komt niet te voorschijn!?

Mijn code:


  1. <?php
  2. // set a background
  3. $background = array('black_n_gray.jpg', 'blue_n_gray.jpg', 'green_n_gray.jpg', 'red_n_gray.jpg');
  4. $img = imagecreatefromjpeg($background[rand(0, 3)]);
  5.  
  6. // set the color filter which will be made transparant
  7. $color = imagecolorallocate($img, 227, 0, 79);
  8. imagecolortransparent($img, $color);
  9.  
  10. // set the text and the font file (uploaded)
  11. $text = array('test tekst 1', 'test tekst 2', 'test tekst 3');
  12. $font = 'font.ttf';
  13. $tColor = imagecolorallocate($img, 0, 0, 0);
  14. imagettftext($img, 18, 0, 11, 20, $tColor, $font, $text[rand(0,2)]);
  15.  
  16. // set the header for the image
  17. header('content-type: image/jpg');
  18.  
  19. // display the image
  20. imagejpeg($img);
  21.  
  22. // remove the image out of the systems memory
  23. imagedestroy($img);
  24. ?>
Offline Martijn - 28/09/2008 23:20
Avatar van Martijn Crew PHP
  1. ImageString ($img, 18, 0, 5, $text[rand(0,2)], $tColor);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.227s