Placer télécharger le fichier dans le navigateur avec un bon nom de fichier

Je suis en train de faire des travaux sur un site web qui a une zone sécurisée qui est à la disposition des utilisateurs qu'après avoir connecté. Dans ce domaine, il y a une page avec des liens vers des documents pdf qui peut être téléchargé. Les documents sont en dehors du site web du répertoire racine. Les liens vers les documents pdf ressembler à quelque chose comme ceci:

index.le php?page=sécurité-zone/download&fichier=protégés.pdf

Qui exécute les suivantes (note: je sais que c'est le moyen de forcer un téléchargement plutôt que d'ouvrir le fichier à l'intérieur de le navigateur):

//check security, get filename from request, prefix document download directory and check for file existance then...

header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Connection: Close');
set_time_limit(0);
readfile($file);

Cela fonctionne bien, mais dans Firefox 3 et Internet Explorer 7 (je n'ai pas testé avec un autre navigateur) n'est pas ouvrir ce fichier à l'intérieur du navigateur, ils montrent tous les deux de la boîte de dialogue de téléchargement (comme prévu). Si j'ai choisi d'Ouvrir plutôt que de les Enregistrer, le document est téléchargé et Adobe Reader est commencé en dehors du navigateur pour afficher le document.

Le problème que j'ai est de télécharger le fichier dans le navigateur et avoir le bon nom de fichier par défaut s'il est enregistré.

Je voudrais le document pour l'ouvrir dans le navigateur. Une façon de le faire est d'utiliser l'en-tête "Content-Disposition: inline;" mais cela signifie que je ne peux pas spécifier un nom de fichier (parce que c'est semble être ignoré par le navigateur). Le problème avec c'est quand j'ai enregistré le document, le nom par défaut est celui de l'URL, et non le nom de fichier du document pdf:

http___example.com_index.php_page=secure_area_download&file=protected.pdf

Comment puis-je obtenir Firefox et Internet Explorer pour ouvrir le document dans le navigateur et de fournir le bon nom de fichier par défaut pour enregistrer?

OriginalL'auteur |