2016-11-13 1 views
1

내 PHP webapp 사용자는 PNG 및 JPEG 이미지를 업로드 할 수 있습니다. 업로드 알고리즘은 다음과 같다 : getimagesize에 의해 PHP GD .ico 취급

  • 검사 확장을 구문 분석하는 파일 이름() imagecreatefrompng에 의해
  • 재 작성 이미지()/imagepng()에 의해

    1. 체크 확장 (imagecreatefromjpeg()/imagejpeg())
    2. 이름 바꾸기 이미지

    이미지 레크리에이션 보안을 위해 사용되는 파일 시스템에 저장합니다. 모든 것이 잘 작동합니다. 하지만 이제는 .ico 파일을 처리하기 위해이 알고리즘이 필요합니다. GD가 .ico (imagecreatefromico()와 같은 기능이 없습니다)와 작동하지 않는 것 같아요. 그래서 제 알고리즘의 3 단계를 구현하는 방법을 모르겠습니다.

    도움이나 조언을 주셔서 감사합니다.

  • +0

    [이] (http://stackoverflow.com/questions/2628114/convert-png-file-to-ico-with-php)을 보았습니까? –

    +0

    @JulienLopez 확실하지 않습니다. 나는 타입을 바꾸지 않는다. 파일을 다시 생성하면 악성 코드가 없어야합니다. – Dmitry

    답변

    1

    GIF 이미지로 .ico 파일을로드 할 수있는 작성자 설치 가능 클래스는 https://github.com/lordelph/icofileloader을 참조하십시오. 예를 들어

    : 분석 및 아이콘 파일에서 이미지를 추출하는 다른 방법에 대한

    $loader = new Elphin\IcoFileLoader\IcoFileService; 
    $im = $loader->extractIcon('/path/to/icon.ico', 32, 32); 
    

    참조 설명서를 참조하십시오.

    +0

    감사. .ico 파일로 $ im을 저장할 수 있다면 GD에 imageico() 또는 imagecreatefromico() 함수가 없으므로 말해 줄 수 있습니까? – Dmitry

    +0

    당신은 packagist에 대해 여러 가지를 찾을 수 있어야합니다. https://packagist.org/packages/chrisjean/php-ico –

    +0

    고마워, 나중에 시험해 보게! – Dmitry