2017-03-27 1 views
0

Je suis en train de lire une image Imagick, je suis en utilisant ce code sur PHP:Imagick ne lit pas l'image, ne transmet pas les erreurs ou avertissements

<?php 

if(extension_loaded('imagick')) { 
    echo "Imagick Loaded <br>"; 
} 
else { 
    echo "Imagick Not Loaded <br>"; 
} 

function scaleImage() 
{ 

    $realpath = "D:\Tentacle1.png"; 
    $imagick = new \Imagick($realpath); 

    var_dump($imagick); 
} 

scaleImage(); 



?> 

La sortie est la suivante:

Imagick Loaded 
object(Imagick)#1 (0) { } 
  • Fondamentalement, il ne lit pas l'image, il charge juste un objet vide.

  • Il ne me donne pas d'erreurs ou d'avertissements.

  • Le journal PHP n'affiche aucune erreur ni aucun avertissement.

  • J'ai essayé de lire le contenu du fichier avec ce (https://stackoverflow.com/a/16091295/2724978) - sans succès

  • Ce test fonctionne: https://stackoverflow.com/a/22438898/2724978

  • Image sur le droit chemin, le boîtier du nom de fichier est correct

  • Je suis sous Windows

  • essayé avec un autre fichier et des extensions différentes (JPG), pas eithe succès r

  • extension ImageMagick affiche normalement sur php_info():

C'est incroyablement frustrant, j'ai manqué d'options pour y remédier. Quelqu'un pourrait-il aider un frère?

+0

pourquoi il y a une barre oblique ("\") avant imagick ?? – NID

+0

@Bilal voir http://php.net/manual/fr/language.namespaces.global.php –

+0

@PaulCrovella Merci l'homme .. c'est vraiment nouvelle info pour moi .. – NID

Répondre

0

Ok les gars, je savais que je me sentirais comme un idiot, le problème est que je suis sortie

echo "Imagick Loaded <br>"; 

avant

header("Content-Type: image/jpg"); 

donc je toujours un fichier vide. Gosh.

En dehors de cela, apparemment l'objet imagick est en effet un tableau de (0) éléments, ou tout ce qui est à l'affiche de sortie qui me source de confusion:

object(Imagick)#1 (0) { } 

2 heures plus tard, le problème est résolu.