0

私は、ユーザーが画像を (私の CakePHP 2.7.2 バックエンドサーバーに) 画像をアップロードできるアプリに取り組んでいます。これらの画像は時々かなり大きくなります (例えば、約 7-8 MB の iPhone 画像)。

アプリケーションはそれらの画像をアプリに表示します (ただし、ダウンロードする必要がある大きなデータのために非常に時間がかかります)。

PHP を使用して画像を 30kB のようなサイズに縮小する最良の方法は何ですか? 画像のサイズと品質が効果的であることを望みます。重要な要件は、幅と高さの比率を維持することです!

4

2 に答える 2

1

アダプティブ イメージPHP スクリプトを試してみてください。

アダプティブ イメージは、訪問者の画面サイズを検出し、Web ページに埋め込まれた HTML 画像のデバイスに合わせて再スケーリングされたバージョンを自動的に作成、キャッシュ、および配信します。マークアップの変更は必要ありません。レスポンシブ デザインで使用し、Fluid Image テクニックと組み合わせて使用​​することを目的としています。

CakePHP で動作させるには:

  1. /app/webroot/フォルダにダウンロードします

  2. あなたを変更/app/webroot/.htaccessし、CakePHP mod_rewrite ルールの前に以下を追加してください:

    RewriteCond %{REQUEST_URI} !optional_path_to_exclude/
    RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php [L]
    
  3. 16 行目を編集/app/webroot/adaptive_images.phpして置き換えます。

    $cache_path    = "ai-cache"; 
    

    $cache_path    = "/app/tmp/cache/ai-cache/"; 
    

    そして30行目:

    $source_file    = $document_root.$requested_uri;
    

    $source_file    = $document_root.'/app/webroot'.$requested_uri;
    

この最後の手順は、仮想ホストの構成によって異なる場合があります。

于 2016-01-08T21:22:13.587 に答える