2013-01-07 102 views
2

我有一个网站,我允许用户上传任何类型的照片。转换图像文件为JPEG

即GIF,JPEG,PNG

现在,我怎么能转换的文件在上传到JPEG,如果他们没有了吗?

感谢

这是我的PHP:

if ($_FILES['media']['size'] != 0) { 
    $target= UPLOADPATH . $media; 
    move_uploaded_file($_FILES['media']['tmp_name'], $target); 
    $query= "INSERT INTO posts (user_id, story, media, date, view, type) VALUES  
      ('$user_id', '$story', '$media', now(), '$view', '1')"; 
    mysqli_query($connect, $query) 
     or die('error with query 2'); 
} 
+1

[使用PHP将PNG转换为JPG与压缩?](http://stackoverflow.com/questions/1201798/use-php-to-convert-png-to-jpg-with-compression) – Quentin

+0

答案已经在http://stackoverflow.com/questions/755781/convert-jpg-image-to-gif-png-bmp-format-using-php – user1929959

+0

你为什么要将它们转换为JPG格式? PNG和GIF都是完全有效的格式? –

回答

0

在PHP中,你开始通过读取上传文件的内容为imagecreatefromstring()喜欢的东西file_get_content($filePath)。从那里,你使用一个imagejpeg写入到另一个文件扩展名为.jpg

这里有一个例子:

$handle = imagecreatefromstring(file_get_content($filePath)); 
imagejpeg($handle,'newfile.jpg',100); 

参考

  1. imagejpeg
  2. imagecreatefromstring
  3. file_get_content
1

只需重命名其扩展名也不会做的伎俩,你需要使用一个图像处理器更改文件。

退房imagemagick