0

Codeigniter 2.1.3 を使用していますが、Web サイト外の /home フォルダーに画像があり、画像を表示できません。

 <img src="<?php echo img('/home/pedro/iagora.jpg');?>" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>

私が試してみました:

     <img src="<?php echo '/home/pedro/iagora.jpg';?>" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>

と:

     <img src="/home/pedro/iagora.jpg" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>

しかし、これらのどれも機能しません。

4

3 に答える 3

0

ファイルがWebルートの外部にある場合、通常はHTTP経由でファイルにアクセスできません。画像を出力するPHPスクリプトを作成する必要があります。

<img src="/get_image.php?i=iagora.jpg" title="">

/get_image.php画像を取得して出力するPHPファイルになります。パラメータは、i必要な画像の名前になります。

そのファイルは次のようになります。

<?php
    $file_name = $_GET['i'];
    $file = '/home/pedro/' . $file_name;

    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' . basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
    exit;
?>
于 2013-02-20T20:41:18.177 に答える
0

ベースフォルダーに「assets」フォルダーを作成することをお勧めします。「アセット」には、js、css、アップロード画像、その他すべてを保存します。このフォームでは、アプリケーションをより適切に整理できます

その後、base_url() で画像をロードできます。例えば:

<img src="<?php echo base_url(); ?>assets/your_folder/your_image.jpg" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80" />
于 2013-02-21T08:14:55.513 に答える
0

スクリプト ファイルを Web サイトのルートに保存したところ、動作するようになりました

<img src="<?php echo base_url().'get_image.php?i='.$images_thumb_dir.$project['avatar'];?>" title="" alt="avatar_<?php echo $project['id']; ?>" width="120" height="80"/>

ありがとうペドロ

于 2013-02-21T10:54:34.010 に答える