2012-03-30 129 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