Image Magick图像格式转换的文件路径是什么

时间:2015-09-03 06:31:56

标签: php html codeigniter imagemagick imagick

我正在尝试使用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变量?

2 个答案:

答案 0 :(得分:0)

表格

<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();
}

答案 1 :(得分:-1)

因为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);

这会将路径转换为完整路径,并检测图像何时出错。