0
我正在使用php脚本在用户上传支持文档时将PDF文件转换为图像。它工作得很好,但ocasionaly它会创建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;
}
这是使用IMAGEMAGICK吗? – mathius1
@mathius是的这使用IMAGEMAGICK –
我看不到任何明显的会导致'exec('convert ...')'执行两次。这留下了两种可能性:这个代码被执行两次(多次提交?);或者用'convert'做些什么(这里是[手册页](http://linux.die.net/man/1/convert) - 我没有看到有关创建多个文件的任何信息)。 – Kryten