2012-03-30 123 views
0

我正在開發一個需要ImageMagick的Wordpress插件。如何在Wordpress中使用PHP中的ImageMagick

我在我這個代碼服務器上測試的ImageMagick:

<?php 
/* 
Plugin Name: IM Trial 
/

add_action('admin_menu','admin'); 

function admin() { 
add_submenu_page('options-general.php', 'Watermark', 'Watermark', 'manage_options',  'handle-uploads-admin111', adminxy); 
} 

function adminxy() { 

$input = site_url('/wp-content/plugins/New/earth_310.png'); 

if($input){ 
echo 'Input fetched'; 
} 
else{ 
echo 'Probs'; 
} 

$output = site_url('/wp-content/plugins/New/output.png'); 

exec("convert $input $output"); 
exec("/usr/bin/convert $input $output"); 
} 
?> 

我正在我的HostGator的WordPress的,他們告訴我說,ImageMagick的安裝在我的服務器上。但是,上面的代碼不給我任何輸出。實際上,它應該在/ plugins/New文件夾中創建一個新的圖像文件'output.png'。但是,它既不給出任何錯誤信息也不輸出圖像。

有什麼我缺乏的代碼?我感謝任何幫助。

+0

WordPress的不使用的ImageMagick,您的例子有沒有WordPress的代碼,你可以掛接到也沒有對使用PHP的ImageMagick的類中的任何實例。 – Wyck 2012-03-30 07:01:11

+0

我遵循http://stackoverflow.com/questions/5121306/php-script-to-convert-multiple-images-into-a-video-with-imagick中的指導原則。我使用admin_menu加載我的插件。如果Wordpress不使用Imagemagick,是否有其他選擇?不過,我發現有一個名爲Imagemagick引擎的插件使用Imagemagick。 – Alex 2012-03-30 07:10:16

+0

Wordpress使用Image GD。 – Wyck 2012-03-30 07:13:56

回答

0

首先,您在命令行中使用的HTTP地址不起作用。你必須使用絕對路徑,所以使用

ABSPATH.'/wp-content/plugins/New/earth_310.png'; 

接下來,我注意到你正在嘗試做水印。我在最後一個水印類中使用了GD庫。以下是github上的代碼,也許它會在教育或者有用的方面有所用處。

https://gist.github.com/2045951