Comment recuperer le nb de pixels (haut, larg) d'un .jpg en php

Résolu
grand_pere_bob Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
grand_pere_bob Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, help me please
but recherché: recuperer le nb de pixels (largeur et hauteur d'une image), je ne trouve pas l'erreur dans mon code, ou toute autre solution qui fonctionne me réjouirai.
J'ai isolé le code qui suit, il suffit d'une image gif ou jpg (ici: barbapap.gif) pour le faire fonctionner et voir mon pb sur la zone $the_Larg , placée dans $ee quelque soit la méthode utilisée pour remplir $ee. Le write écrit dans le fichier FIFI.txt quand je visionne FIFI avec un éditeur, je lis:
tablo[0]["Larg"] = "<script language='JavaScript' >document.write( document.images.identifiant.width)</script>" ;
quand je le lis avec fgets de ce script je recupere :
tablo[0]["Larg"] = "195" ; (ce que je souhaite)
quand j'isole la relecture de FIFI dans un script , je reçois : tablo[0]["Larg"] = "";

par ailleurs, toutes les lignes sont bout à bout dans FIFI, il n'y a pas de retour à la ligne
script: xx.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php
function F_ecrire($ee)
{
$filename = 'FIFI.txt';
if (!$cible = fopen($filename, 'a'))
{ echo "OPEN ($filename) raté"; exit; }
if (fwrite($cible, $ee) === FALSE)
{ echo "WRITE {$filename} raté"; exit; }
echo "apres le write --------> " . $ee ."<br>";
fclose($cible);
global $the_numero ; $the_numero += 1 ;
}
$the_numero = 0 ;
echo " <img src='barbapapa.gif' name='identifiant'> ";
$the_Larg = "<script language='JavaScript' >document.write( document.images.identifiant.width)</script>";
echo "<br> L= ". $the_Larg."<br>";
$ee = "tablo[{$the_numero}][\"Larg\"] = \"{$the_Larg}\" ;" ;
echo "avant le write --------> " . $ee ."<br>";
F_ecrire($ee);
$ee1 = 'tablo[';
$ee2 = ']["Larg"] = "';
$ee3 = '" ' ;
$ee = "{$ee1}{$the_numero}{$ee2}{$the_Larg}{$ee3} ;" ;
F_ecrire($ee);
echo "avant le write --------> " . $ee ."<br>";
$ee = 'tablo['.$the_numero.']["Larg"] = "'.$the_Larg.'" ; ' ;
echo "avant le write --------> " . $ee ."<br>";
F_ecrire($ee);
$filename = 'FIFI.txt';
if (!$cible = fopen($filename,'r'))
{ echo "OPEN ($filename) raté"; exit; }
echo "contenu fichier lu avec fgets <br>";
while (!feof($cible)) {
$donnees = fgets($cible, filesize($filename));
echo $donnees ."<br>";
}
fclose($cible);
?>
</body>
</html>
je ne suis pas un specialiste, mon code vous surprendra peut-etre, et je suis paumé, aidez moi SVP, merci d'avance
Cordialement

2 réponses

ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Salut,

pour récupérer la taille d'une image tu peux utiliser les fonctions GD
https://www.php.net/manual/fr/ref.image.php
0
grand_pere_bob Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
ça marche
j'adopte sans hésiter votre solution, je ne connaissais pas ces fonctions
Merci infiniment pour la précision et la rapidité de réaction
Cordialement
0