2017-03-27 54 views
0

我試圖讀取Imagick的圖像,我使用的是PHP的代碼錯誤或警告:Imagick不看圖像,不輸出

<?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(); 



?> 

輸出是這樣的:

Imagick Loaded 
object(Imagick)#1 (0) { } 
  • 基本上,它不讀取圖像,它只是加載一個空的對象。

  • 它不會給我任何錯誤或警告。

  • PHP日誌不會顯示任何錯誤或警告。

  • 我曾嘗試閱讀本文件內容(https://stackoverflow.com/a/16091295/2724978) - 沒有成功

  • 這個測試工作:https://stackoverflow.com/a/22438898/2724978

  • 圖片是在正確的道路上,文件名外殼是正確的

  • 我在Windows上

  • 試過另一個文件和不同的擴展名(JPG),沒有成功eithe [R

  • ImageMagick的擴展通常顯示在php_info():

這是非常令人沮喪,我跑出來的方案來解決它。有人可以幫助兄弟出去嗎?

+0

爲什麼在imagick之前有一個斜線(「\」)? – NID

+0

@Bilal請參閱http://php.net/manual/en/language.namespaces.global.php –

+0

@PaulCrovella感謝男人..這真的是新信息給我.. – NID

回答

0

好球員,我知道我會覺得自己像個白癡,問題是,我輸出

echo "Imagick Loaded <br>"; 

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

所以我總是有一個空白文件。天哪。

除了,顯然imagick對象確實是(0)元素,或無論是表示本輸出被混淆我的數組:

object(Imagick)#1 (0) { } 

2個小時後,問題解決了。