2012-05-12 4 views
3

최근에 imagemagick을 PHP로 사용하기 시작했습니다. 저는 IM과 PHP 둘 다 비교적 새롭습니다. 그래서 저는 여기에 몇 가지 도움/제안을 요청하고 있습니다. Imagemagick exec 및 convert

사용자가 GIF 또는 내 사이트에 PNG로 이미지를 업로드하고 나는 그것이 JPG로 변환하려는 말할 수있는 경우 먼저

, 예를 들어 같은 어떤 명령이 있습니다. $image->convert($file,'.jpg) 또는 변환 명령은 exec()을 통해서만 접근 가능합니까?) 예를 exec(convert picture.png이 picture.jpg 대신 할 같은

둘째

무엇을 다시 들어, 사용자가 업로드 PNG 사이트 에 나는 지정된 너비/높이로 이미지 크기를 조정/GIF 및 이미지를 작성하는 경우 , IM의 writeImage 함수는 다음과 같습니다 : $image->writeImage(basename.$ext) $ext = jpg. 정상적으로 작동합니까? 나는 OO ...이 에만 이름을 변경하지만 여전히 나는이 문제가 표시되지 않습니다

아 미안 하나 개 더 질문을 가정, 나는 , 간부를 잘 알고 더 나은 사용 ImageMagick를 사용하고 아니에요 exec(), 속도가 올라가는 등 가 좋아 지나요?

+0

'exec()'은 [exploitable PHP function] (http://stackoverflow.com/questions/3115559/exploitable-php-functions)이므로 대부분의 서버에서 비활성화되어 있습니다. –

+2

"대부분의 서버"에서 비활성화 된 것을 보지 못했습니다. 모든 것과 마찬가지로 사용자 입력에주의해야합니다. – Bonzo

답변

4

내가 직접 질문에 대답하지만 몇 가지 자원을 가리킬 생각 할 수 없습니다 더 나은, 간부 또는 PHP 확장 인에 대해서는

, 나는 몇 달 전에이 같은 질문을했다 :

http://www.php.net/manual/en/book.imagick.php

: 당신이 공식 가이드를 검색해야 모든 이미지 마법 (magick) PHP 함수의

Should I use a PHP extension for ImageMagick or just use PHP's Exec() function to run the terminal commands?

이미지 Magick에서 Graphics Magick으로 전환했습니다. 성능이 좋다고 들었습니다. 그것은 성능에 중점을 둔 Image Magick 포크입니다.

http://www.graphicsmagick.org/

이 가이드는 나에게 시작 가지고 : 플리커 (Flickr)와 에디터 선택과 같은 대형 사이트를 사용

http://devzone.zend.com/1559/manipulating-images-with-php-and-graphicsmagick/

그리고 그들은 php.net에 자신의 매뉴얼을 가지고 : (

http://php.net/manual/en/book.gmagick.php을 대부분의 명령은 Image Magick과 동일합니다.)

1

나는 exec()는 Imagick (게시 한 예제 코드)보다 훨씬 지원되며 사용하기 쉽고 Imagick이 다시 사용할 수없는 모든 연산자 (버전에 따라 다름)를 지원합니다. Imagick 코드 중 일부는 다른 버전에서 다르게 작동합니다. 몇 년 전에 Imagick 예제가 처음 보았을 때보 다 훨씬 더 많은 예제가 있습니다.

Imagick이 더 빠르거나 빠를 수 있다고하니? 어떤 사람들은 그것을 설치하는 데 문제가 있지만 PHP로 내장.

나는이 사이트 http://valokuva.org/?cat=1이 Imagick 개발자에게 속해 있으며 많은 예제가 있음을 알 수 있습니다. 다른 두 가지 질문에 관해서는 간부()

와 PHP의 예는 많이있다 www.rubblewebs.co.uk/imagemagick

내 사이트에 네 당신은 Imagick와 파일 형식을 변경할 수 있습니다 나는 확실하지 않다 basename. $ ext - 왜 시험해 보지 않으시겠습니까? basename에 확장자가 없으면 basename. $ ext를 따옴표로 묶어야 할 수도 있습니다.

속도가 빠르면 때때로 GD가 Imagick 또는 Imagemagick보다 빠릅니다. 언제나 몇 가지 검사를 할 수 있습니다. 일 년 정도 전에했는데 서버에서 코드를 사용해 볼 수 있습니다. http://www.rubblewebs.co.uk/imagemagick/speed/Speed_tests_1.pdf

+0

안녕 Bonzo. 당신의 답변에 감사드립니다. 감사합니다. 제공된 링크에 감사드립니다. 나는 이 메신저에 대해 약간의 연구를하고있을 때 언젠가 전에 귀하의 웹 사이트를 방문한 것 같습니다. 어쨌든 파일 형식 변경과 관련하여 제안하는 대안은 무엇입니까? setimagetype? 또는 일부 상당 하나? – inrob

+0

나는 태어날 줄 몰랐고 당신은 방법을 잘해야합니다. – Bonzo

관련 문제