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 :

PHP 7.2 Kcfinder déprécié


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2013
    Messages : 7
    Par défaut PHP 7.2 Kcfinder déprécié
    Bonjour à Toutes et à Tous,

    Avec PHP 7.2.9 et Kcfinder un problème survient lors de l"upload d'une image

    Kcfinder => lib => class_image.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    } elseif (is_array($image)) {
                list($key, $width) = each($image);
                list($key, $height) = each($image);
                $img = $this->getBlankImage($width, $height);

    Modifier les lignes 119 et 120

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    } elseif (is_array($image)) {
     
            list($key, $width) = $image;
     
     	list($key, $height) = $image;
    La seule méthode trouvée, cela fonctionne

  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 : 50
    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,

    tu peux également faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [$key, $width]  = $image;
    [$key, $height] = $image;

  3. #3
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 3 020
    Par défaut
    Citation Envoyé par nanard25 Voir le message
    Modifier les lignes 119 et 120

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    } elseif (is_array($image)) {
     
            list($key, $width) = $image;
     
     	list($key, $height) = $image;
    La seule méthode trouvée, cela fonctionne
    J'en doute. Ce n'est pas parce que tu n'as plus d'erreur qui s'affiche que "cela fonctionne".

    La fonction each() renvoie la clef et la valeur à la position du pointeur interne d'un tableau, puis avance ce pointeur à l'élément suivant. Donc si ton tableau est par exemple [1024, 768] et que le pointeur du tableau est au début, alors:
    Code php<7.2 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    list($key, $width) = each($image); // $key vaut 0 et $width 1024, le pointeur avance à l'élément suivant
    list($key, $height) = each($image); // $key vaut 1 et $height 768, le pointeur est à la fin du tableau.

    En écrivant list($key, $width) = $image, $key vaudra 1024 et $width 768. À la ligne suivante $height vaudra également 768. Donc ce que fait ton code c'est d'envoyer deux fois la hauteur en guise de largeur et de hauteur à la méthode getBlankImage (bienvenue au pays des carrées).

    Si on voulait strictement reproduire le comportement des deux lignes de code originales, il faudrait écrire en PHP 7.2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    list($width, $key) = [current($image), key($image)];
    list($height, $key) = [next($image), key($image)];
    next($image);
    Mais dans le cas présent on se fiche aussi bien des clefs du tableau que de la position du pointeur interne. Ces deux lignes sont en fait une écriture vieillotte pour récupérer les deux premières et probablement les seules valeurs d'un tableau pour les affecter à $width et $height sans se soucier des clefs du tableau, donc on peut remplacer ces deux lignes par:

Discussions similaires

  1. [EDI] Quel est l'éditeur que vous recommandez pour PHP ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 400
    Dernier message: 10/04/2018, 20h08
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. L'avenir est-il au PHP ?
    Par Manolo dans le forum Langage
    Réponses: 468
    Dernier message: 11/02/2008, 18h54

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