I heard that Mysidiahost allowed Imagick, so I decided to upload my site so I could work on online features. The only problem is that I get a nasty "failed to read file" error when I try. I also get this:

Quote:

trict Standards: Only variables should be passed by reference in /home/wildsoul/public_html/wolfimage.php on line 10

I usually don't worry about strict standards and make them invisible, but doing that this time doesn't solve anything. This is the code in question:

// Remember to order these in reverse, the last element in the array should always be the top layer you will see (usually lineart). All images should be the same dimensions. The first element in the array is [0], not [1]!!!!
$images = array(
'http://wild-souls.mysidiahost.com/picuploads/den.png',
"http://wild-souls.mysidiahost.com/picuploads/wolf_images/pup/bases/" . $pet->base . " base-pup.png",
'http://wild-souls.mysidiahost.com/picuploads/wolf_images/pup/markings/' . $pet->marking1 . '-pup.png',
'http://wild-souls.mysidiahost.com/picuploads/wolf_images/pup/eyes/eyes ' . $pet->eyes . '-pup.png',
'http://wild-souls.mysidiahost.com/picuploads/wolf_images/pup/shade-pup.png',
'http://wild-souls.mysidiahost.com/picuploads/wolf_images/pup/lineart-pup.png'
);

// This creates the Imagick class that we will use.
$composed_image = new \Imagick($images);

// As you see above, by calling setIteratorIndex(), you switch your "working layer" to the layer you wish to modify.
// Now lets flatten it and display it. This creates a new Imagick instance to work with with only one flat image.
$image = $composed_image->mergeImageLayers(\Imagick::LAYERMETHOD_FLATTEN);
$image->setImageFormat('png');

I have to use the full URL since the Imagick version seems to have issues with relative paths. I had to install the plugin myself during local testing, so I'm not sure if mysidiahost calls imagick differently.

Do you think putting the file paths into a variable might help with the problem? Try googling the error you get, that's how I find ways to solve errors. For example, when I google your error, I got this page which may or may not help your problem: https://stackoverflow.com/questions/...eference-error

After reading through it, I'm not entirely sure what the answer is saying to do. So I would break this line (line 10):

PHP Code:

$cleanwid = end(explode('/',trim($fullurl,'/')));

Into more variables?

EDIT: Nevermind, I got rid of the strict standard error by doing this:

PHP Code:

//A not-so-clean way to get the wid of the parent page$fullurl = $_SERVER['HTTP_REFERER'];$scrub = explode('/',trim($fullurl,'/'));$cleanwid = end($scrub);

It still doesn't fix the "failed to read file" issue though. I already contacted HoF about it, and he said it might be an issue with the server and not imagick (which is beyond my control). He's looking into it.