Skip to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Dynamisch Plaatje maken

Hallo,

Ik heb zeg maar een klein scriptje, soortvan, en die werkt dat ik meerdere plaatjes maak, en die met en scriptje laat wisselen, en dan via htaccess wilde ik die naar PNG converteren. Maar nu word de afbeelding niet weergegeven in IPB, SMF etc. dus hoe kan ik het zo maken dat het wel word weergegeven?

Dit is de code:

<?php 
$images = array('banner/1.png', 'banner/2.png');
$alt = array('BeaT DowN - 24/7',  'BeaT DowN - The best place to be!');
$loop = rand(0,sizeof($images) - 1);
?>

<html><img src="<?php echo $images[$loop]; ?>" alt="" /></html>

Edited by Zamg0d1

Featured Replies

Als je het via htaccess als png wilt kunnen tonen, moet je er wel voor zorgen dat de output die je genereerd ook echt een PNG plaatje is. Op dit moment genereert jouw script HTML code.

Voorbeeld van genereren van een png plaatje vanuit php:

<?php
 $pict = imagecreatefrompng("input.png");
 header("Content-type: image/png");
 ImagePNG($pict);
 ImageDestroy($pict);
?>

De eerste laad een png plaatje in vanaf disk, en slaat die op als een "image" in variable $pict.

De tweede regel genereerd de HTTP headers, die aangeven dat het om een png plaatje gaat.

De derde regel stuurt de inhoud van $pict als PNG naar de output.

En de laatste regel verwijderd de variabele $pict weer.

Ik denk dat je op basis hiervan er wel uit zou moeten komen.

Succes

  • Author

Maar, moet ik dus als input doen http://bd.gaming-freak.nl/banner.png ? Als ik dat doe krijg ik errors.. En als ik een PNG als input moet invoeren, hoe doe ik dat dan? Ik heb nog geen PNG toch? Dus hoe doe ik dat dan?

Warning: imagecreatefrompng() [function.imagecreatefrompng]: 'http://bd.gaming-freak.nl/banner.png' is not a valid PNG file in /usr/home/deb15335/domains/gaming-freak.nl/public_html/bd/banner.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at /usr/home/deb15335/domains/gaming-freak.nl/public_html/bd/banner.php:8) in /usr/home/deb15335/domains/gaming-freak.nl/public_html/bd/banner.php on line 9

Warning: imagepng(): supplied argument is not a valid Image resource in /usr/home/deb15335/domains/gaming-freak.nl/public_html/bd/banner.php on line 10

Warning: imagedestroy(): supplied argument is not a valid Image resource in /usr/home/deb15335/domains/gaming-freak.nl/public_html/bd/banner.php on line 11

Edited by Zamg0d1

Met "imagecreatefrompng()", kun je alleen plaatjes inladen vanaf de schijf van je server. Je kunt dus geen URL gebruiken om een plaatje van internet te laden.

In mijn voorbeeld, moet je dus een "input.png" plaatje hebben staan in dezelfde folder als waarin de php file staat.

  • Author
Met "imagecreatefrompng()", kun je alleen plaatjes inladen vanaf de schijf van je server. Je kunt dus geen URL gebruiken om een plaatje van internet te laden.

In mijn voorbeeld, moet je dus een "input.png" plaatje hebben staan in dezelfde folder als waarin de php file staat.

Mag dit ook gewoon een lege afbeelding zijn?

EDIT: Dit script geeft nu een error....

<?php 
$images = array('banner/1.png', 'banner/2.png');
$alt = array('BeaT DowN - 24/7',  'BeaT DowN - The best place to be!', 'BeaT DowN - Kom naar 24/7!');
$loop = rand(0,sizeof($images) - 1);
?>

<?php
 $pict = imagecreatefrompng("input.png");
 header("Content-type: image/png");
 ImagePNG($pict);
 ImageDestroy($pict);
?>

<html><img src="<?php echo $images[$loop]; ?>" alt="" /></html>

Alles is goed, maar ik krijg een error... Warning: Cannot modify header information - headers already sent by (output started at /usr/home/deb15335/domains/gaming-freak.nl/public_html/bd/banner.php:8) in /usr/home/deb15335/domains/gaming-freak.nl/public_html/bd/banner.php on line 10 - Dit is de header die ik in de code van jou eb staan. Zelf snap ik er even niks meer van :N

Edited by Zamg0d1

Die error betekent dat je al output hebt weggeschreven voordat je header() aanroept. Dit zijn waarschijnlijk die 2 newlines boven <?php, die moeten weg:

<?php 
$images = array('banner/1.png', 'banner/2.png');
$alt = array('BeaT DowN - 24/7',  'BeaT DowN - The best place to be!', 'BeaT DowN - Kom naar 24/7!');
$loop = rand(0,sizeof($images) - 1);

 //$pict = imagecreatefrompng("input.png");
 $pict = imagecreatefrompng($images[$loop]);
 header("Content-type: image/png");
 ImagePNG($pict);
 ImageDestroy($pict);
?>

ik heb ook even de $pict nu ingesteld zoals die hoort uitgaande van het script daarboven

ook heb ik de html weggehaald... in een png-plaatje hoort geen html he ;)

  • Author

banner.png

Yay :D Het werkt! Bedankt Marco! _O_

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.