我正在尝试使用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变量?
答案 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);
这会将路径转换为完整路径,并检测图像何时出错。