2010-05-20 2 views
1

Très bien, actuellement j'utilise GD pour créer une image PNG qui enregistre quelques choses différentes, en fonction des données GET, par exemple: http://example.com/file.php?do=this enregistrera une chose tandis que http://example.com/file.php?do=that enregistrera une autre chose.Utiliser le nom de fichier pour GET data et rendre la sortie de la page PHP en extension JPG?

Cependant, je voudrais le faire sans données GET, donc à la place http://example.com/dothis.php enregistrera une chose, et http://example.com/dothat.php enregistrera l'autre.

Mais en plus de cela, je voudrais également le rendre accessible via l'extension de fichier JPG. J'ai vu cela fait mais je n'arrive pas à comprendre comment. Donc, de cette façon, http://example.com/dothis.JPG va se connecter une chose, tandis que http://example.com/dothat.JPG enregistre l'autre.

La partie d'enregistrement est simple, bien sûr. J'ai simplement besoin de savoir comment utiliser les noms de fichiers à la place des données GET et comment configurer le fichier php pour être accessible via une extension de fichier jpg.

Répondre

1

nom de fichier est accessible via tableau $ _SERVER (je l'espère, vous pouvez explorer ce tableau et de trouver la variable appropriée)

tout astuce d'extension est de la responsabilité serveur web
Pour l'API du module Apache, il pourrait être

RemoveHandler .jpg 
AddType application/x-httpd-php .jpg 
+0

Puis-je mettre tout cela dans mon httpd.conf comme ceci: ' RemoveHandler .jpg Application AddType/x-httpd-php .jpg ' – Rob

+0

Travail effectué. Genre de. Il a cassé l'image. Je l'ai changé pour un png et maintenant je reçois ** L'image "http: //mywebsite/images/png.png" ne peut pas être affichée, car elle contient des erreurs. ** En tant que jpg, elle affiche uniquement le lien. – Rob

+0

Nevermind fixe que =] – Rob

0

Si vous ne voulez pas avoir de scripts/liens en double, et que le serveur web est apache, alors vous avez besoin de mod_rewrite, par ex.

RewriteEngine On 
RewriteRule ^doth/(.*) index.php?page=$1 [L] 

C.

0

Si vous souhaitez intégrer PHP dans un fichier en utilisant l'extension .jpg, vous devez demander à votre serveur Web pour analyser les fichiers .jpg comme PHP. Une façon de faire, si vous utilisez Apache, est d'ajouter ce qui suit dans un fichier .htaccess dans le répertoire où se trouvent les fichiers:

addtype application/x-httpd-php .jpg .php 

Ou vous pouvez l'ajouter à la configuration de votre serveur. Voir this page for details on htaccess for Apache.

Ensuite, écrivez vos scripts de sorte qu'ils enregistrent les données appropriées. Dans votre exemple, il semble que vous n'aurez plus besoin des données GET, et le script enregistrera différentes données simplement en fonction du fait qu'il a été appelé. c'est-à-dire dothis.jpg "sait" pour enregistrer les données this, alors que dothat.jpg enregistre les données that.

dothis.jpg:

<?php 
    header("Content-type: image/jpeg"); 
    // log "this" code 
    $img = imagecreate($x, $y); // example 
    // GD image generation code 
    imagejpg($img); 
?> 

dothat.jpg:

<?php 
    header("Content-type: image/jpeg"); 
    // log "that" code 
    $img = imagecreate($x, $y); // example 
    // GD image generation code 
    imagejpg($img); 
?> 
Questions connexes