Question

I am rather new to using the command line and php. That being said I have been trying to figure out how to use ImageMagick with the exec() function. I have this currently,

$command="/usr/local/lib/ImageMagick  convert images/a.pdf images/a.png"; 

if(exec($command)){
    echo 'yes';
}
else{
    echo 'no';
}

Which is returning 'no'. I believe I am missing something about how to execute convert from the correct directory. Is my $command set up properly? (I was given the path to ImageMagick from my web host, Lunarpages).

I have read through some of the other questions regarding ImageMagick but I haven't found much to help me set up my command.

Thanks for any help,
Levi

Was it helpful?

Solution

What your command is currently attempting to do is execute a program named /usr/local/lib/ImageMagick which I am guessing is not what you were intending. If that is the path to ImageMagick and you want to use the convert utility you need to modify your command to the following:

/usr/local/lib/ImageMagick/convert images/a.pdf images/a.png

At which point it should work without any issues! You may want to dig further into what the convert command can do for you!

OTHER TIPS

use the exec() the correct way as your exec returns a string by default and the execution results is passed back via one of it's parameters as such :

$command="/usr/local/lib/ImageMagick/convert images/a.pdf images/a.png"; 

exec($command,$output,$result);
if ($result == true ){
    echo 'yes';
}
else{
    echo 'no, here's what happened with command output';
    print_r($output);
}

refer to http://php.net/manual/en/function.exec.php

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top