Bonsoir à tous,
Après avoir pas mal cherché, j'ai beaucoup avancé et je penses ne pas être loin mais ... Je sèche car cela ne marche pas (on s'en doutait que j'allais écrire cela)
Le besoin :
J'ai un fichier binaire contenant n images présent sur un répertoire réseau (pas sur mon serveur).
Au moment où j'affiche ma page, je connais :
- le nom de ce fichier (qui peut changer)
- le chemin réseau
- l'offset où se trouve l'image à afficher (position de début + taille)
De mes recherches je suis arrivé à créer 2 php:
- aff.php qui affiche bêtement mon image (<img src='image.php' />)
- image.php qui va être mon leurre et devenir mon objet image (ceci car je ne souhaite pas passer par un fichier temporaire)
Vous verez que dans image.php je mets mon lien en dur mais c'est pour le test.
Le code :
Aff.php :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <!DOCTYPE html> <html lang='fr'> <head> <meta charset='utf-8' http-equiv='CACHE-CONTROL' content='NO-CACHE'> <link href='style/style.css' rel='stylesheet' type='text/css'> </head> <body style="padding-top:30px;"> <div id='User' class='User'> <img src='image.php' /> </div> </body> </html>
et mon image.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php //$maRefImg = $_GET['idPhoto']; --> quand déjà avec une image en dur cela marchera je verrai :) $maRefImg="\\\\monserveur\\002000012014090104C0001.4186399;13107;12875;tif;"; $mesParam=array(); $mesParam=explode(';',$maRefImg); $monImg=file_get_contents($mesParam[0],NULL,NULL,$mesParam[1],$mesParam[2]); header('Content-Type: image/tiff'); echo pg_unescape_bytea($monImg); ?>
Quand je lance aff.php mon image ne s'affiche pas.
Auriez-vous une solution? est-ce que je me plante royalement dans ma démarche?
Merci à tous
Pour vérifier au moins que mon binaire et donc mon extraction de tif est ok j'ai modifié mon php "image.php" avec ce code
mon tif se crée bien et est lisible via windows
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php //$maRefImg = $_GET['idPhoto']; --> quand déjà avec une image en dur cela marchera je verrai $maRefImg="\\\\monserveur\\002000012014090104C0001.4186399;13107;12875;tif;"; $mesParam=array(); $mesParam=explode(';',$maRefImg); $monImg=file_get_contents($mesParam[0],NULL,NULL,$mesParam[1],$mesParam[2]); header('Content-Type: image/tiff'); echo pg_unescape_bytea($monImg); file_put_contents("test.tif", $monImg); ?>
Partager