当用户上传支持文档时,我使用php脚本将PDF文件转换为图像。它工作得很好,但偶尔会创建2个几乎相同的文件并附加" -0"和" -1"。这是一个循环,因为我的脚本不知道何时发生这种情况,然后指向错误的文件名。任何想法是什么原因以及如何纠正都将非常感激。
这是代码:
$filename = $_FILES['file']['name'];
$filename1 = $upload_dir.$_FILES['file']['name'];
rename($_FILES['file']['tmp_name'], $upload_dir.$_FILES['file']['name']);
chmod($filename, 0777);
//If the file is a pdf change it to a jpg.
$file_array = explode(".", strtolower($filename));
$file_jpg = $file_array[0];
$file_jpg = $upload_dir.$file_jpg . ".jpg";
$file_extn = end(explode(".", strtolower($filename)));
if($file_extn == 'pdf'){
$filename3 = substr($filename1, 0, -3);
$filename3 = $filename3 . "jpg";
$createjpgpath = $filename3;
$basefile_jpg = substr($filename, 0, -3) . "jpg";
exec('convert -geometry 1600x1600 -density 130x130 -quality 20 "'.$filename1.'" "'.$filename3.'"');
unlink($filename1);
}
Else{
$filename3 = $upload_dir.$_FILES['file']['name'];
$basefile_jpg = $filename;
}
答案 0 :(得分:2)
这就是我使用的:
exec('convert "'.$targetFile.'[0]" -flatten -geometry 1600x1600 -density 130x130 -quality 20 "'.$previewTargetFile.'"');
" [0]"和" -flatten"将展平文件并仅输出一个图像。有些PDF有多页。