Poster une réponse à un sujet: [PHP] Comment envoyer le bon type MIME
Attention, ce sujet est un sujet ancien (6322 jours sans réponse)
zion
gizmo
Le principe, c'est que je ne veux pas etre dependant de l'hebergeur, vu que c'est destine a un libre usage
![:oh: :oh:](images/smileys/oh.gif)
zion
Va faloir que je me paluche une table de correspondance a la main
![:ohwell: :ohwell:](images/smileys/ohwell.gif)
Ou que tu changes d'hébergeur
![:dawa: :dawa:](images/smileys/dawa.gif)
Chez ovh ils acceptent le dl() donc à la limite tu pourrais même loader l'extension kivabien si ils l'ont pas activées
gizmo
euh, ouais mais non, parce que .htm, .html doivent avoir le meme contentType retourne, et .xhtml pourrait egalement l'avoir si c'est du XHTML 1.0
philfr
Va faloir que je me paluche une table de correspondance a la main
![:ohwell: :ohwell:](images/smileys/ohwell.gif)
Ou que tu ne changes pas l'extension...
gizmo
j'ai vu, mais ni cette fonction, ni son hypothetique remplacante ne sont dispo sur la plupart des hebergeurs, donc je ne peux pas les utiliser. En fait, j'esperais un systeme miracle, un peu comme quand OS X reconnait le type du fichier meme apres lui avoir changer l'extension, mais en fait ils gardent cela dans des meta-donnes, donc c'est foutu.
Va faloir que je me paluche une table de correspondance a la main
Va faloir que je me paluche une table de correspondance a la main
![:ohwell: :ohwell:](images/smileys/ohwell.gif)
zion
blietaer
<?
$fichier_xls=$_GET['file_name'];
$fI="xls";
$sendmime = $mimetypes[$fI["fileext"]];
if ($sendmime == "") { $sendmime = "application/stream"; }
header ("HTTP/1.1 200 OK");
header("Content-type: ".$sendmime);
header("Content-Length: $tailleFichier");
header('Content-Transfer-Encoding: binary');
header("Content-Disposition: attachment; filename=\"$fichier_xls\"");
//readfile($fichier);
$fp=fopen($fichier_xls, "r");
fpassthru($fp);
flush();
?>
$fichier_xls=$_GET['file_name'];
$fI="xls";
$sendmime = $mimetypes[$fI["fileext"]];
if ($sendmime == "") { $sendmime = "application/stream"; }
header ("HTTP/1.1 200 OK");
header("Content-type: ".$sendmime);
header("Content-Length: $tailleFichier");
header('Content-Transfer-Encoding: binary');
header("Content-Disposition: attachment; filename=\"$fichier_xls\"");
//readfile($fichier);
$fp=fopen($fichier_xls, "r");
fpassthru($fp);
flush();
?>
philfr
Je ne vois pas très bien comment on peut deviner le type d'un fichier "texte" autrement que par son extension. Du CSS, Javascript ou autre ça se ressemble fort quand même niveau contenu...
T'as osé parler de l'extension, tu mérites sans doute la mandale...
![:grin: :grin:](images/smileys/grin.gif)
Sinon, ben +1000. La commande file connaît le type des fichiers par leur "magic" (quelques bytes du début) qui n'existe pas pour tous les types.
Si un fichier texte a un magic, c'est en général qu'il a un commentaire au début (genre #!/bin/bash pour un shell script).
max
tu peux récupérer le type du fichier externe dans le header de la réponse et le passer lors de l'envoie ?