İçerik-eğilim: inline başlık görüntüleri inline göstermez?

1 Cevap php

Bir sayfada bir görüntü satır içi göstermeye çalışıyorum. Bir CodeIgniter denetleyici tarafından servis ediliyor.

class Asset extends MY_Controller {

    function index( $folder, $file ) {

        $asset = "assets/$folder/$file";

        if ( !file_exists( $asset ) ) {
            show_404();
            return;
        }

        switch ( $folder ) {
        case 'css':
            header('Content-type: text/css');
            break;
        case 'js':
            header('Content-type: text/javascript');
            break;
        case 'images':
            $ext = substr( $file, strrpos($file, '.') );
            switch ( $ext ) {
            case 'jpg':
                $ext = 'jpeg';
                break;
            case 'svg':
                $ext = 'svg+xml';
                break;
            }

            header('Content-Disposition: inline');
            header('Content-type: image/'.$ext);
        }

        readfile( $asset );
    }

}

Ben FF kendi çıkar kadar indirme penceresi Chrome'da bir görüntü yüklemek zaman. Tarayıcı içerik zaten bir indirme zorlar inline gösteremez zaman ben biliyorum, ama bu başka türlü tarayıcı cezasının hangi ekran PNG ve GIF görüntüleri vardır. IE bir indirme zorlamaz ama ASCII görüntüler.

Ben tüm görüntü davayı açıklama ise FF ve Chrome hem de ASCII ama görüntü görüntüler.

Ben içerik türü FF ve Chrome gerçek görüntü göstermek için izin ve aynı zamanda konumu bir src olarak kullanılmasına olanak sağlayacak ayar düşündüm.

Javascript ve css tabii ince gösterir.

Herkes Ben görüntüleri düzgün görünmesini sağlayabilirsiniz nasıl herhangi bir fikir var mı?

1 Cevap

İçerik-eğilim başlığını kaldırmayı deneyin. Varsayılan olarak, inline zaten görüntülenir edilmelidir.

Neyse, sen yanlış bir şey yapıyor olması gerekir. Ben sadece Opera ve IE test ettik ve onlar gerçekten içerik-disposition başlığı ile görüntü satır içi görüntüler yok. Ben kullanılan:

<?php
header('Content-Disposition: inline');
header('Content-type: image/png');

readfile('Untitled.png');

Yanıt başlığını kontrol için tarayıcınızın dev araçlarını kullanın.

EDIT

Muhtemelen bu hata sorunu neden oluyor:

<?php
echo substr( "file.ext", strrpos("file.ext", '.') );

". ext" değil "ext" verir. Strrpos'un () + 1 yerine.