2017-03-04 3 views
-1

Réception de cette erreur lors de l'utilisation de PHP pour créer une galerie d'images; "Normes strictes: seules les variables doivent être transmises par référence dans (nom de fichier) sur la ligne 5"Erreur PHP "Normes strictes: seules les variables doivent être transmises par référence"

Est-ce que quelqu'un sait comment corriger ou masquer cette erreur? Comme la galerie actuelle fonctionne bien avec l'erreur. Merci!

est Ci-dessous le code:

public function getImages($extensions = array('jpg', 'png')) { 
    $images = $this->getDirectory($this->path); 

     foreach($images as $index => $image) { 
      $extension = strtolower(end(explode('.', $image))); 
      if(!in_array($extension, $extensions)) { 
       unset($images[$index]); 
      } else { 
       $images[$index] = array(
        'full' => $this->path . '/' . $image, 
        'thumb' => $this->path . '/thumbs/' . $image, 
        ); 
      } 
     } 

    return (count($images)) ? $images : false; 
} 
+0

il est difficile de dire car il n'y a même pas 25 lignes dans ce que vous avez posté, où est la ligne 25? –

+0

@AhmedMasud Je suis vraiment désolé, j'ai oublié le changement de la valeur lors de la prise de l'extrait. A été mis à jour maintenant! – Meowls

Répondre

1

end() nécessite un véritable tableau, car il se déplace le pointeur vers la fin.

end(explode('.', $image)) ne fonctionnera pas.

Au lieu de cela, vous pouvez essayer par exemple: $extension = pathinfo($image, PATHINFO_EXTENSION);