Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2011, 19h39   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Par défaut largeur d'une image

Bonjour,

je voudrais extraire la largeur d'une image ; j'ai fait un code tout bête :
Code :
1
2
3
4
<?php 
 echo '<img  src="patin.jpg"/>';
 echo 'width='.(getimagesize(.'patin.jpg'.))[0];
 ?>
qui me génère une erreur :
Citation:
Parse error: syntax error, unexpected '.', expecting ')' in /homepages/18/d246623212/htdocs/telepamedia/avisderecherche/test2.php on line 3
mais je n'arrive pas à trouver ; peut-on m'aider ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 20h54   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Code :
1
2
3
4
5
6
7
8
<?php
$a=getimagesize('patin.jpg');
$w=$a[0];
$h=$a[1];
 
echo '<img src="patin.jpg" width="'.$w.'" height="'.$h.'" alt="" />';
echo 'width='.$w;
?>
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 20h59   #3
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Merci Eric
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 14h22   #4
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
J'ai un nouveau souci, toujours avec getimagesize. Cette fois, j'ai les 2 warnings suivants :
Citation:
URL file-access is disabled in the server configuration in /homepages/20/d357470176/htdocs/telepamedia/avisderecherche/index.php on line 130
suivi de
Citation:
failed to open stream: no suitable wrapper could be found in /homepages/20/d357470176/htdocs/telepamedia/avisderecherche/index.php on line 130
Que puis-je faire ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 15h12   #5
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
Tu peux envoyer la ligne 130 de ton fichier index.php?
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 15h52   #6
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Au lieu de "envoyer", j'avais lu "enlever" (et du coup, ma page marche, si j'enlève aussi ce qui utilise le résultat).
La ligne à problème est la suivante :
Code :
 $a=getimagesize($name_file);
et si je fais un echo juste avant :
Code :
echo 'fichier='.$name_file.'<br>';
, ça me donne un nom de fichier (une url complète) valide....
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 15h55   #7
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Bonjour,

As-tu activé "allow_url_fopen" dans ta configuration PHP ? Si non il faut le faire pour pouvoir lire des URLs pleinement qualifiées.

Sinon, mets un chemin relatif à la racine du serveur, et qui n'utilise pas le protocole HTTP. En gros les URLs qui commencent par "http://" tu pourras pas connaitre leur dimension avec getimagesize sans activier allow_url_fopen.

Pour finir, tu ne devrais pas t'embêter comme ceci, le navigateur gère tout seul l'affichage des images aux bonnes dimensions, inutile de faire travailler le serveur ici.
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/06/2011, 16h17   #8
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
As-tu activé "allow_url_fopen" dans ta configuration PHP ?
Ca, c'est dans php.ini et je ne sais pas y accéder, mais avec un chemin relatif, j'ai résolu mon problème.
Citation:
Pour finir, tu ne devrais pas t'embêter comme ceci, le navigateur gère tout seul l'affichage des images aux bonnes dimensions, inutile de faire travailler le serveur ici.
En général, c'est effectivement inutile, mais je voudrais "resizer" les grosses images, donc il me faut bien leur dimension...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 16h54   #9
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Citation:
En général, c'est effectivement inutile, mais je voudrais "resizer" les grosses images, donc il me faut bien leur dimension...
En fait non, cela peut également être géré directement par le navigateur. Etant donné que tu souhaites faire une redimensionnement proportionnel, si tu ne valorises que la largeur la hauteur sera adaptée en conséquence, et vice-versa.

Code :
1
2
3
4
 
<!-- img.jpg fait 200px de largeur et 150px de hauteur -->
Hauteur 75px : <img src="/images/img.jpg" alt="L'image" width="100" /> 
Largeur 100px : <img src="/images/img.jpg" alt="L'image" height="75" />
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 17h03   #10
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Oui, d'accord, mais si l'image est toute petite, je ne veux pas la grossir et la rendre floue...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 10h18   #11
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Citation:
Envoyé par laurentSc Voir le message
Oui, d'accord, mais si l'image est toute petite, je ne veux pas la grossir et la rendre floue...
Je ne vois pas ce que PHP pourrait y changer.
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 11h27   #12
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Il faut ien que je récupère une des dimensions de l'image, et si elle est trop grosse seulement, appliquer le resizing, et pour récupérer cette dimension et effectuer le test, je ne vois que js ou PHP...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 13h33   #13
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
Citation:
Envoyé par laurentSc Voir le message
Il faut ien que je récupère une des dimensions de l'image, et si elle est trop grosse seulement, appliquer le resizing, et pour récupérer cette dimension et effectuer le test, je ne vois que js ou PHP...
C'est plus clair maintenant.

Pour cela il y a les attributs css min-width et max-width. Mais il est vrai que cela n'est pas supporté par les vieux navigateurs, d'où l'utilité de PHP ici.

OK !
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h00.


 
 
 
 
Partenaires

Hébergement Web