2011-12-24 17 views
7

Esto funciona si guardo el script en el mismo directorio que la imagen que se está manipulando. Y la imagen resultante "foo.jpg" también se genera en la misma ubicación.Cómo usar la función writeImage() de imagick?

<?php 

$im = new imagick('image.jpg'); 
$im->thumbnailImage(200, 0); 
$im->writeImage("foo.jpg"); 

?> 

Pero lo que si el guión está en un lugar y la imagen que desea trabajar es en otra y la ubicación que desea guardar la imagen en miniatura para decir en otro lugar, cómo especificar estos caminos?

hacer algo como esto no funciona:

$im = new imagick('path/to/image.jpg'); 
+0

Compruebe el espacio de nombre correcto, \ Imagick si está utilizando una convención PSR. O tal vez verifique nombres que distingan entre mayúsculas y minúsculas, 'Imagick' en lugar de 'imagick'. También puede referirse a pathinfo(), file_exists(), is_writable() o dirname() con flags, para obtener rutas adecuadas y concatenar con nombre de archivo. Pero de cualquier forma, debe establecer un directorio base desde el que señale todos los archivos. Tu decides. –

Respuesta

5

podría haber algún problema en el sistema de archivos. Tratar de obtener un apuntador de archivo en php primero y comprobar que no existen problemas

$fileHandle = fopen("path/to/image.jpg", "w"); 

A continuación, puede utilizar la función Imagick (versión 6.3.6 o posterior);

$im->writeImageFile($filehandle); 
+0

Quizás deba declarar: $ imagick = new Imagick ('ruta/a/imagen'); $ imagick-> writeImage ('ruta/a/imagen'); $ imagick-> close(); $ imagick-> destroy(); para liberar todos los recursos. –

Cuestiones relacionadas