IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Parcourir un fichier php pour remplacer des morceaux de code


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Août 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Auto entrepreneur

    Informations forums :
    Inscription : Août 2018
    Messages : 9
    Par défaut Parcourir un fichier php pour remplacer des morceaux de code
    Bonjour,

    Je souhaiterais remplacer toutes les balises IMG de mon site par des balises IMG contenant les dimensions des images.

    Par exemple <img src="exercices/image001.gif" alt="système équations"> devra être remplacé par <img src="exercices/image001.gif" alt="système équations" width="99" height="48">
    La fonction PHP getimagesize() retourne les dimensions d'une image, mais je butte sur la création d'un script auquel je donnerais le code php et qui me retournerait le nouveau code avec les dimensions des images.

    Est-il possible de faire cela en php?

    Merci

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    à la main mon gars, à la main
    Sinon, il y a plus simple, utiliser le css :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    img {
      width: 99px;
      height: 48px;
    }

  3. #3
    Membre régulier
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Août 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Auto entrepreneur

    Informations forums :
    Inscription : Août 2018
    Messages : 9
    Par défaut
    Merci c'est gentil mais sur mon site il y a 15 000 images sur 1 500 pages PHP, j'en ai pour des années à la main...

    Je n'ai quasiment jamais mis ces width= height= dans les IMG car ça me faisait gagner du temps et ça marchait bien sans, mais maintenant pour la version mobile AMP ça devient indispensable :-(

    Toute idée est la bienvenue (le site est cmath.fr)

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    à la vache, tu n'as pas utilisé de parser latex pour générer tes équations. Tout est sous forme d'image !!!
    Purée, vois si avec le css cela ne répond pas à ton besoin

    j'adore ce passage
    Citation Envoyé par superfloflo Voir le message
    Je n'ai quasiment jamais mis ces width= height= dans les IMG car ça me faisait gagner du temps et ça marchait bien sans

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tu veux récupérer les dimensions de chaque image (je suppose que les images ont des dimensions différentes) et les ajouter sur les balises img, c'est bien ça ?
    Je peux poser la question bête et demander à quoi ça va te servir, vu que les dimensions seront les mêmes que celles de l'image ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Une alternative peut être d'agir sur les éléments de la page avec javascript si tu as un point d'entrée qui permet d'insérer du code.

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <html>
    <head>
    <script>
    window.onload = function () {
        var el = document.querySelectorAll("img");
     
        for (i = 0; i < el.length; ++i) {
          el[i].width  = el[i].width;
          el[i].height = el[i].height;  
        }    
    }
    </script>
     
    </head>
    <body>
    <img src="image3.jpg"/><br/>
    <img src="image4.jpg"/><br/>
    </body>
    </html>

    Sans le javascript :
    Nom : Capture20190220_001.JPG
Affichages : 354
Taille : 17,7 Ko

    Avec le javascript :
    Nom : Capture20190220_002.JPG
Affichages : 364
Taille : 23,2 Ko

  7. #7
    Membre régulier
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Août 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Auto entrepreneur

    Informations forums :
    Inscription : Août 2018
    Messages : 9
    Par défaut
    rawsrc :
    Je ne vois pas comment le css pourrait m'être utile car cela nécessiterait de créer des classes pour chaque image de dimension différente, de plus je ne sais pas comment le css pourrait me permettre de retrouver automatiquement les dimensions des images

    Celira :
    Oui c'est bien cela et cela va servir à mettre les pages du site mobile aux normes AMP, ce qui améliore grandement l'expérience utilisateur et probablement aussi le référencement. L'outil https://validator.ampproject.org/ retourne "Failed" si les dimensions des images ne sont pas spécifiées. J'imagine que les navigateurs affichent plus rapidement les sites dont les dimensions des images ont été spécifiées par les webmasters, en tout cas au moins sur des sites mobiles amp.

    Badaze :
    Merci, j'adore l'idée d'utiliser du javascript document.querySelectorAll("img") pour sélectionner toutes les images puis les méthodes el[i].widt et el[i].height. Le code ne sera pas exploitable car le but est de mettre les pages aux normes AMP et le javascript personnel n'est pas autorisé avec ces normes car il ralentit le chargement des pages. Je vais creuser cela tout ce même.

    Mais savez vous s'il serait techniquement possible d'utiliser fopen (je n'ai jamais utilisé et ne connais pas les fonctions associées) pour ouvrir un fichier php, puis le parcourir jusqu'à la présence d'un <img>, isoler la chaine <img src='...'> récupérer l'url, récupérer les infos avec getimagesize() puis remplacer <img src='...'> par <amp-img src='...' width= height='...'>?

    Où s'il serait possible de créer une fonction php qui parcourt le code php d'une page donné en argument, sans l'exécuter ni retourner d'erreur? C'est à dire qu'il faudrait que le code php ne soit pas interprété comme du code php, mais comme du simple texte. J'ai vu que eval() existait mais c'est plutôt l'inverse qu'il me faudrait.

Discussions similaires

  1. parcourir un fichier XML pour recuperer des information
    Par samerkouta dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 05/10/2009, 11h02
  2. Boucle pour remplacer des mots ds un fichiers
    Par dinozo13 dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 21/07/2008, 14h34
  3. [RegEx] Pour remplacer des identifiants de fichiers incorporés par leur valeur
    Par Christophe Charron dans le forum Langage
    Réponses: 12
    Dernier message: 23/08/2007, 08h54
  4. Réponses: 4
    Dernier message: 21/08/2007, 14h09
  5. Recherche d'un script PHP pour renommer des fichiers en masse
    Par pekka77 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 19/11/2006, 23h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo