2016-02-19 9 views
-1

Я использую следующий код для открытия PDF-документа из базы данных. Моя проблема: документ PDF открывается на текущей вкладке, но я хочу, чтобы он был открыт на новой вкладке.Как использовать php readfile для открытия PDF-файла на новой вкладке (wysiwyg)

$query = "SELECT name, type, size, content FROM files WHERE id = '$id'"; 

$result = mysql_query($query) or die('Error, query failed'); 
list($name, $type, $size, $content) = mysql_fetch_array($result); 

header("Content-length: $size"); 
header("Content-type: $type"); 
header("Content-Disposition: inline; filename=$name"); 

echo $content; 

Я использую redactor wysiwyg, чтобы добавить PDF. Дайте мне знать, если вам нужна дополнительная информация, спасибо.

+1

Насколько я знаю, вы не можете сделать это с помощью PHP. Вы могли бы открыть новую страницу с target = "blank", а затем направить ее в php-скрипт, чтобы открыть PDF-файл? –

+0

Что вы имеете в виду? Можете ли вы объяснить, что вы пытаетесь сделать? –

+0

Я решил свой вопрос, я новичок, поэтому просто забываю, что я прокомментировал на прошлой неделе. Я проголосовал за ваш комментарий, потому что вы упомянули о решении для меня, спасибо. :) – Eelyn

ответ

0

Решил проблему открыть PDF-документ на новой вкладке. Мы не можем открыть новую вкладку, используя php-код. Только сделайте это, добавив «target =» _ blank »в redactor.js

Ниже приведена часть кода от redactor WYSIWYG. Вы можете найти« target = »_ blank» внутри кода.

fileUploadCallback: function(json) 
{ 
    var data = $.parseJSON(json); 

    var text = $('#redactor_filename').val(); 
    if (text == '') text = data.filename; 
    var link = '<a href="' + data.filelink + '" target="_blank">' + text + '</a>'; 

    // chrome fix 
    if ($.browser.webkit && !!window.chrome) link = link + '&nbsp;'; 

    if ($.browser.msie) 
    { 
     if (text != '') $(this.doc.getElementById('span' + this.spanid)).replaceWith(a); 
    else $(this.doc.getElementById('span' + this.spanid)).after(link).remove(); 
     this.syncCode(); 
    } 
    else this.execCommand('inserthtml', link); 

    // file upload callback 
    if (typeof this.opts.fileUploadCallback == 'function') 
    { 
     this.opts.fileUploadCallback(this, data); 
    } 

    this.modalClose(); 
}, 

Для получения дополнительной информации, пожалуйста, получить код от redactor WYSIWYG сайта.