我正在尝试使用image Magick PECL将。tif图像转换为jpeg。我写的函数在
下面$images = new Imagick('$_FILE['img']');
foreach($images as $i=>$image) {
// Providing 0 forces thumbnail Image to maintain aspect ratio
$image->thumbnailImage(768,0);
$image->writeImage("uploads/page".$i.".jpg");
echo "<img src='page$i.jpg' alt='images' ></img>";
}
$images->clear();
在这段代码的第一行如何使用post方法形式的动作文件路径到$images变量?
in form
<form action="<?php echo base_url().'contoller/change_method'?>" method="post" enctype="multipart/form-data">
<input type="file" name="img">
</form>
在控制器public function change_method()
{
$images = new Imagick('$_FILE['img']');
foreach($images as $i=>$image)
{
// Providing 0 forces thumbnail Image to maintain aspect ratio
$image->thumbnailImage(768,0);
$image->writeImage("uploads/page".$i.".jpg");
echo "<img src='page$i.jpg' alt='images' ></img>";
}
$images->clear();
}
因为Imagick将所有工作传递给ImageMagick,而ImageMagick也可以类似地将工作委托给其他进程,所以你应该使用realpath函数将路径转换为完整路径。
$realPath = realpath($_FILE['img']);
if ($realPath === false) {
throw new 'Exception("File was not located at ".$_FILE['img']);
}
$imagick = new Imagick($realPath);
这会将路径转换为完整路径,并在图像位于错误位置时检测。