2012-04-22 19 views
0

こんにちは、私はzendフレームワークを使用しています。私が望むのは画像を表示することです。 私の画像は/uploads/photo/default.jpgというフォルダにあります。 フォルダを/ public/...に移動すると... everithingはうまく動作しますが、すべての画像がプロファイルの画像なので、私ができるならそこから離れることを好まれますので、公開しないようにしてください... 画像はZend表示画像

<img id="image" src=<?php echo $this->baseUrl().'/uploads/foto/default.jpg'; ?> > 

であり、私はそれが動作しませんが、私のコードを変更することが私のフォルダを残す方法があることを知っているを示して?

答えて

2

画像は、ブラウザが閲覧できるように、公開されている必要があります。パブリックフォルダに物理的に格納したくない場合は、そこからアクセスできるようにする必要があります(public/uploadsからuploadsフォルダへのシンボリックリンクを作成する)。ファイルがどこにあってもデータを読み取ることができるPHPスクリプト。

経由でバイナリデータを提供します。 PHPには独自の問題があります。遅くなるため、適切なヘッダを確実に送信する必要があります。しかし、これによりアクセスを制限することができます。これがあなたの目標である場合にのみ、ユーザーに友人のプロフィール画像を見ることを許可する。

+0

私のアプリケーションをより安全にするには...私はそうする必要があります。パブリックで別のアップロードフォルダを作成し、このコードで.phpファイルを作成します。 <?php symlink( '/ home/simone/NetBeansProjects/fproject/public/uploads'、 '/ home/simone/NetBeansProjects/fproject/uploads'); ?> – Simone

+0

コマンドラインからシンボリックリンクを作成するだけで、PHPで行う必要はありません。 'ln -s/home/simone/NetBeansProjects/fproject/uploads/home/simone/NetBeansProjects/fproject/public/uploads' –

+0

ya私は知っているが、私はアルバに私のアプリを置く場合私はシェルを持っていない – Simone